Dhafiq Sagara adalah orang bodoh yang tidak bisa apa-apa, tapi dia selalu berusaha untuk terus menjadi yang lebih baik. Rasa keingin-tahuannya sangat tinggi, selalu berusaha dan terus berusaha, trial dan error adalah prinsip belajarnya.

29 Mei 2011

Membuat Transisi Panel Dalam Satu Frame Java

Dalam membuat suatu aplikasi menggunakan java, tidak perlu membuat banyak frame, lebih baik membuat transisi pada panel dalam satu frame. Untuk mengurangi banyaknya resource class yang ada dalam aplikasi java.

Sehingga jika kita membuat aplikasi dengan banyak frame, misalkan frame login, frame menu, frame inputan, dan lain-lain. Kita tidak perlu membuat banyak frame, kita hanya perlu mengubah isi panelnya saja, sehingga tampilan tetap dalam satu jFrame. Yang berubah hanya isinya saja.

Baiklah langsung pada proses pembuatannya:
  1. Buatlah jFrame.
  2. Kemudian desainlah Frame tersebut dengan mengisikan menu-menu utama.
  3. Kemudian buatlah panel utama untuk tempat terjadinya transisi/perubahan isi menu.
    Misalkan tampilannya seperti ini:
    Pada gambar diatas menjelaskan: Button merah, biru, kuning merupakan menu utama. Dan panel dibawahnya yang berwarna putih merupakan panel utama sebagai tempat terjadinya transisi panel. Misal button merah akan menampilkan panel warna merah, button biru menampilkan panel biru, dan button kuning menampilkan panel kuning. Dan yang berubah hanya pada panel saja, menu utama yang terletak pada toolBar di atas tidak akan berubah.
  4. Ubah Layout menjadi Card Layout. Klik kanan pada panel putih - Set Layout - Card Layout
  5. Kemudian tambahkan panel baru pada panel putih tersebut dan beri warna biru
  6. Tambahkan lagi panel baru dan beri warna biru
  7. Dan panel warna kuning
  8. Posisikan panel merah, biru, dan kuning sesuai gambar berikut
  9. Kemudian beri action pada tiap button merah, biru, kuning. Dengan cara double klik pada tiap button atau klik kanan pada button - Events - Action - actionPerformed.

    actionPerformed untuk button merah:
    panelMerah.setVisible(true);
    panelBiru.setVisible(false);
    panelKuning.setVisible(false);


    actionPerformed untuk button biru:
    panelBiru.setVisible(true);
    panelMerah.setVisible(false);
    panelKuning.setVisible(false);


    actionPerformed untuk button kuning:
    panelKuning.setVisible(true);
    panelMerah.setVisible(false);
    panelBiru.setVisible(false);


  10. Kemudian jalankan program tersebut, maka didapatkan hasil seperti berikut:
    Spoiler for open Action Button Merah:



    Spoiler for open Action Button Biru:



    Spoiler for open Action Button Kuning:


Jadi seperti itulah proses yang terjadi pada transisi panel. Sehingga tidak perlu banyak membuat frame untuk tiap form aplikasi. Jadi cukup satu Frame untuk semua form dengan mengganti panelnya saja. Sehingga menu utama tidak mengalami perubahan.

Download Project: FrameWithTransisiPanel (NetbeansProject)

3 komentar:

  1. wah mantep nihhh

    BalasHapus
  2. optimasinya bagaimana kakak? penggunaan 3 panel tentusaja akan mengalokasikan jumlah memory yang akan digunakan pada komputer. Misalnya untuk 1 kasus dimana mungkin kita menggunakan 100panel dengan tiap panel memiliki fusngsi berbeda dan tiap panel akan melakukan buffer image pada panel dengan method paintcomponent.

    BalasHapus