Site icon UNYDeveloperNetwork

Tutorial: Membuat Navigasi Antar JFrame dengan Menggunakan JMenuItem, JButton, JLabel, JRadioButton, dan JComboBox (Netbeans)

Reading Time: 6 minutes

Selamat datang kembali di blogs UNYDeveloperNetwork. Pada tutorial kali ini, Saya akan memberikan tutorial bagaimana cara membuat navigasi antar JFrame dengan menggunakan JMenuItem, JButton, JLabel, JRadioButton, dan JComboBox. Bagaimana cara membuatnya? mari kita simak artikel ini sampai habis.

Sebelum Anda meneruskan membaca artikel ini, pastikan Anda sudah memahami betul mengenai properties antar komponen JFrame yang tidak akan Saya bahas secara mendalam pada artikel ini. Sebagai media untuk artikel ini, Saya sebelumnya telah membuat Layout Aplikasi seperti tangkapan layar di bawah ini.

Dan ketika dijalankan, akan menjadi seperti ini.

Dapat Anda lihat, Saya sudah menyiapkan JMenuItem, JButton, dan JLabel, JRadioButton, dan JComboBox sebagai utility Saya dalam menulis artikel ini. Jika Anda belum memahami bagaimana cara membuat layout seperti di Atas, Saya mohon untuk berhenti sejenak pada titik ini dan belajar kembali bagaimana cara membuat layout untuk JFrame sebelum melanjutkan ke bagian lain artikel ini. Apabila Anda sudah paham, Anda dapat melanjutkan ke bagian artikel selanjutnya.

Selanjutnya, Saya juga telah membuat 3 class lain dengan JFrame yang akan saya panggil dari kelas utama. Sebagai Kelas utama dan yang dijalankan Saya memberikannya Nama MainFrame. java

Kemudian, 3 class lainnya saya berikan nama MyFrame1.java, MyFrame2.java, dan MyFrame3.java. Tentu saja, Anda dapat memberikan nama class lain sesuai dengan kesukaan Anda, namun pada artikel ini, Saya memberikan contoh dengan nama – nama class sederhana seperti pada tangkapan layar di atas.

DAFTAR ISI

Baik, jika semua sudah siap, mari kita mulai dari bagian pertama.

Navigasi JFrame dengan JMenuItem dan JButton

Untuk membuat navigasi antar JFrame dengan JMenuItem dan JButton cukup mudah saja. Anda tinggal klik kanan pada salah satu komponen tersebut, kemudian pilih Events > Action > actionPerformed. Secara otomatis Anda akan dibawa masuk ke dalam blok source code actionPerformed komponen tersebut. Perhatikan beberapa tangkapan layar di bawah ini.

actionPerformed options pada JMenuItem
actionPerformed options pada JButton
Contoh blok source code pada actionPerformed

Setelah Anda dibawa masuk ke dalam blok source code actionPerformed Anda dapat memasukkan baris kode berikut ini.

new <<Nama Class>>().setVisible(true)

Contoh:

new MyFrame1().setVisible(true);

Lakukan hal tersebut untuk 2 komponen yang lain yang menavigasikan ke JFrame lain.

actionPerformed pada JMenuItem
actionPerformed pada JButton
https://unydevelopernetwork.com/wp-content/uploads/2020/03/JMenuItem-JButton.mp4
Demonstrasi Navigasi dengan JMenuItem dan JButton

Navigasi JFrame dengan JLabel

Untuk melakukan navigasi dengan menggunakan dengan menggunakan JLabel ini agak sedikit unik. Karena komponen ini tidak memiliki actionPerformed seperti pada dua komponen sebelumnya. Namun kita bisa mengakalinya dengan menggunakan MouseEvent yakni mouseClicked.

Pertama, klik kanan pada komponen JLabel dan pilih Events > Mouse > mouseClicked.

Selanjutnya, seperti pada langkah sebelumnya, Anda akan dibawa masuk ke blok kode tempat Anda memasukkan baris kode untuk memanggil JFrame lain.

Masukkan baris kode untuk memanggil JFrame lain ke dalam blok tersebut, dan lakukan hal yang sama untuk memanggil JFrame yan lain.

Setelah Anda selesai memasukkan baris kode tersebut, langkah terakhir adalah mengubah UX pada JLabel sehingga user mengetahui bahwa Label tersebut clickable. Caranya adalah dengan mengubah cursor JLabel ke Hand Cursor.

Untuk melakukannya, klik salah satu JLabel. Pada Properties, cari property cursor. Pilih Hand Cursor.

Bagaimanakah hasil akhirnya? mari kita lihat pada video di bawah ini.

https://unydevelopernetwork.com/wp-content/uploads/2020/03/JLabel.mp4

Navigasi JFrame dengan JRadioButton

Untuk melakukan navigasi antar JFrame dengan menggunakan JRadioButton, kita memerlukan satu penanganan spesial, yakni penanganan untuk memastikan hanya satu radio button yang terselect (tidak mungkin ada 2 radio button yang terselect). Oleh karena itu, kita masuk ke dalam mode source, untuk menambahkan satu method void yang akan menghandle hal tersebut.

Masukkan baris kode berikut.

private void radioReset(){
        <<nama variable object radio button 1>>.setSelected(false);
        <<nama variable object radio button 2>>.setSelected(false);
        <<nama variable object radio button 3>>.setSelected(false);
}

Contoh:

private void radioReset(){
        rdoJFrame1.setSelected(false);
        rdoJFrame2.setSelected(false);
        rdoJFrame3.setSelected(false);
}

Method tersebut akan dipanggil ketika salah satu JRadioButton di klik. Kemudian, karena JRadioButton mendukung actionPerformed, maka seperti pada tutorial bagian navigasi dengan JMenuItem dan JButton, langsung saja klik kanan pada salah satu JRadioButton, pilih Events > Action > actionPerformed. Secara otomatis kita di bawa ke bagian blok kode tempat kita akan meletakkan baris kode untuk memanggil JFrame lain.

Masukkan baris kode berikut di tiap blok kode actionPerformed JRadioButton.

radioReset();
<< variable object JRadioButton >>.setSelected(true);
new << nama class >>().setVisible(true);

Contoh:

private void rdoJFrame1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
   radioReset();
   rdoJFrame1.setSelected(true);
   new MyFrame1().setVisible(true);
} 

Lakukan hal sama untuk kedua JRadioButton yang lain. Sehingga hasil akhirnya seperti tangkapan layar di bawah ini.

Dan berikut adalah hasilnya.

https://unydevelopernetwork.com/wp-content/uploads/2020/03/JRadioButton.mp4

Navigasi JFrame dengan JComboBox

Sama halnya dengan JRadioButton, untuk melakukan navigasi JFrame dengan JComboBox, kita memerlukan sedikit penanganan khusus karena JComboBox memiliki list dan item. Oleh karena itu, pertama kita setting dulu item yang akan tampil di dalam list JComboBox. Untuk melakukannya, klik pada suatu JComboBox, pada Properties carilah Model. Klik Model tersebut untuk mengubah isian dari list JComboBox tersebut.

Pada tangkapan layar di atas, Saya menggunakan item JFrame 1, JFrame 2, dan JFrame3. Masing – masing dari item tersebut akan memanggil JFrame yang berbeda.

Selanjutnya, kita akan menghandle masukan dari JComboBox ini. Pertama, sama halnya dengan JRadioButton, kita bisa menggunakan actionPerformed. Oleh karenanya, langsung saja klik kanan pada suatu JComboBox, pilih Events > Action > actionPerformed. Secara otomatis kita di bawa ke bagian blok kode tempat kita akan meletakkan baris kode untuk memanggil JFrame lain.

Ada dua opsi paling mudah untuk menghandle masukan dari JComboBox ini. Yakni dengan menggunakan getSelectedIndex() dan getSelectedItem(). Kita akan bahas satu persatu.

GET SELECTED INDEX

Untuk dapat menggunakan getSelectedIndex(), kita harus membuat satu variabel integer untuk dapat menyimpan nilai balikan dari getSelectedIndex() tersebut. Index pada list JComboBox dimulai dari 0 dan seterusnya hingga item terakhir pada list. Jadi jika terdapat 3 item pada list JComboBox maka index – indexnya pasti: 0, 1, dan 2. Oleh karena itu, pada blok kode actionPerformed JComboBox, kita tambahkan baris kode berikut ini.

int x = << nama variable object JComboBox >>.getSelectedIndex();

Contoh:

int x = scrJFrame.getSelectedIndex();

Selanjutnya kita tambahkan switch … case untuk menghandle masukan yang sudah diperoleh.

switch(x){
     case 0:
          new << nama class frame 1 >>().setVisible(true);
          break;
     case 1:
          new << nama class frame 2 >>().setVisible(true);
          break;
     case 2:
          new << nama class frame 3().setVisible(true);
          break;
}

Contoh:

switch(x){
     case 0:
          new MyFrame1().setVisible(true);
          break;
     case 1:
          new MyFrame2().setVisible(true);
          break;
     case 2:
          new MyFrame3().setVisible(true);
          break;
}

GET SELECTED ITEM

Untuk dapat menggunakan getSelectedItem(), kita harus membuat satu variabel String untuk dapat menyimpan nilai balikan dari getSelectedItem() tersebut. Oleh karena itu, pada blok kode actionPerformed JComboBox, kita tambahkan baris kode berikut ini.

String x = << nama variable object JComboBox >>.getSelectedItem().toString();

Contoh:

String x = scrJFrame.getSelectedItem().toString();

Selanjutnya kita tambahkan switch … case untuk menghandle masukan yang sudah diperoleh.

switch(x){
       case "<< item 1 >>":
           new << nama class frame 1 >>().setVisible(true);
           break;
       case "<< item 2 >>":
           new << nama class frame 2 >>().setVisible(true);
           break;
       case "<< item 3 >>":
           new << nama class frame 3 >>().setVisible(true);
           break;
}

Contoh:

switch(x){
       case "JFrame 1":
           new MyFrame1().setVisible(true);
           break;
       case "JFrame 2":
           new MyFrame2().setVisible(true);
           break;
       case "JFrame 3":
           new MyFrame3().setVisible(true);
           break;
 }

PERHATIAN. Jika Anda menggunakan getSelectedItem(), maka case di dalam switch harus SAMA PERSIS baik nama maupun besar kecilnya huruf.

Berikut adalah hasil dari Navigasi dengan menggunakan JComboBox.

https://unydevelopernetwork.com/wp-content/uploads/2020/03/JComboBox.mp4

Demikian artikel Tutorial: Membuat Navigasi Antar JFrame dengan Menggunakan JMenuItem, JButton, JLabel, JRadioButton, dan JComboBox (Netbeans) ini. Semoga bermanfaat untuk kita semua. Apabila Anda memiliki pertanyaan, jangan sungkan meninggalkannya di kolom komentar. Jika Anda ingin mencuplik artikel ini, jangan lupa juga sertakan URL nya.

Anda dapat mengunduh project yang digunakan untuk tutorial ini melalui link BERIKUT INI

Exit mobile version