Skip to main content

MDI Form pada Java Swing dengan editor Netbeans

  1. Buat project baru dengan menggunakan editor NetBeans. Pada Categories pilih Java, dan pada Projects pilih Java Application. Kemudian klik tombol Next.

  1. Pada Window berikutnya, isi nama project pada Project Name. Dalam tutorial ini, nama projectnya adalah JavaApplication1. Hilangkan tanda centang pada opsi “Create Main Class”.


  1. Setelah project terbentuk, klik kanan pada Source Packages dan pilih New kemudian pilih Java Package. Pada contoh ini, nama package diisi dengan “mdiform”.


  1. Klik kanan pada package mdiform yang baru kita buat, kemudian pilih New dan pilih JFrame Form. Berikan nama FrameUtama sebagai nama kelas.

  1. Kemudian pada tab Pallete di sebelah kanan drag objek Desktop Pane ke dalam frame yang baru kita buat.

  1. Lakukan hal yang sama terhadap objek Menu Bar pada Pallete. Drag ke dalam frame yang kita buat sebelumnya. 

  1. Atur tata letak Desktop Pane dan Menu Bar sehingga tampilan FrameUtama kita menjadi seperti berikut:

  1. Kemudian klik kanan pada File yang ada pada Menu Bar. Pilih Add From Pallete dan pilih Menu Item.



  1. Lakukan sekali lagi penambahan Menu Item pada menu bar File. Jadi, saat ini kita memiliki 2 sub menu dari File.
  2. Klik kanan pada Menu Item yang baru kita buat dan pilih Edit Text untuk mengganti teks yang muncul. Berikan nama Form 1 dan Form 2 pada kedua Menu Item seperti pada gambar berikut.

  1. Langkah berikutnya yaitu membuat Form yang dapat di panggil setelah Menu Item di klik. Objek yang kita butuhkan ialah objek JInternalForm. Untuk memasukan objek ini, klik kanan pada package “mdiform” kemudian pilih New kemudian pilih Other.


  1. Pada dialog box yang muncul, pada bagian Categories pilih Swing GUI Forms, dan pada File Types pilih JinternalFrame Form. Kemudian klik tombol Next.


  1. Berikan nama kelas InternalFrame1 pada ClassName. Lakukan cara yang sama untuk memasukan objek JinternalFrame yang kedua. Berikan nama InternalFrame2 untuk objek JinternalFrame kedua ini. Setelah ini, struktur project menjadi seperti gambar berikut:


  1. Klik sekali InternalFrame1. Kemudian berikan title “Ini Form 1” untuk InternalFrame ini yang ada pada tab Properties.


  1. Dengan cara yang sama ubah title pada InternalFrame2 menjadi “Ini Form 2”.
  2. Kembali ke FrameUtama,  klik menu File pada Menu Bar, dan Double klik pada “Form 1”.

17. Setelah Double klik, anda akan diarahkan ke jendela coding. Ketikan script berikut:


 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                        
     // TODO add your handling code here:  
     try{  
       boolean status=false;  
       javax.swing.JInternalFrame[] children;  
       children=jDesktopPane1.getAllFrames();  
       for (JInternalFrame f:children){  
         if(f.getTitle().equals("Ini Form 1")){  
           f.setSelected(true);  
           status=true;  
           break;  
         }  
       }  
       if (status==false){  
         InternalFrame1 form1=new InternalFrame1();  
         jDesktopPane1.add(form1);  
         form1.setVisible(true);  
       }  
     }  
     catch(PropertyVetoException e){  
       JOptionPane.showMessageDialog(null, e.getMessage(), "Error",  
           JOptionPane.ERROR_MESSAGE);  
     }  
   }  

Setelah mengetikan script diatas, coba jalankan aplikasi ini dan coba klik menu File kemudian Form 1. Jika benar, internal form dengan title "Ini Form 1" akan terbuka.
Dengan contoh script di atas, coba anda ubah agar dapat menampilkan internal frame dengan nama "Ini Form 2".

Penjelasan singkat script:

 boolean status=false;  
       javax.swing.JInternalFrame[] children;  
       children=jDesktopPane1.getAllFrames();  

script diatas untuk mengambil semua objek JInternalFrame yang ada di dalam objek Desktop Pane.


 for (JInternalFrame f:children){  
         if(f.getTitle().equals("Ini Form 1")){  
           f.setSelected(true);  
           status=true;  
           break;  
         }  
       }  
script looping diatas berfungsi mencari apakah form dengan title "Ini Form 1" sudah terbuka atau tidak. Jika Form dengan nama tersebut sudah terbuka, tampilkan objek tersebut (f.setSelected digunakan untuk menampilkan objek yang sudah pernah dibuka) dan berikan nilai status menjadi TRUE.

Mengapa digunakan script seperti diatas? Fungsinya untuk menghindari objek yang terbuka 2 kali. Perhatikan baris berikutnya seperti di bawah ini:

 if (status==false){  
         InternalFrame1 form1=new InternalFrame1();  
         jDesktopPane1.add(form1);  
         form1.setVisible(true);  
       }  

jika blok looping menghasilkan nilai status yang tetap FALSE, artinya objek tersebut belum terdapat di dalam Desktop Pane. Oleh sebab itu, buat objek baru dengan perintah new InternalFrame1() dan masukan objek tersebut ke dalam Desktop Pane. Setelah itu tampilkan dengan perintah setVisible.


Comments

Post a Comment

Popular posts from this blog

Mengembalikan user 'root' yang terhapus pada mysql (ubuntu server)

untuk mengembalikan user root yang tidak sengaja terhapus, berikut langkah2 nya: stop service mysql terlebih dahulu dengan perintah berikut: sudo /etc/init.d/mysql stop kemudian jalankan kembali service mysql dengan perintah berikut: sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking & masuk ke service mysql dengan cara : mysql -u root kemudian jalankan perintah berikut: FLUSH PRIVILEGES; kemudian jalankan perintah berikut untuk menambahkan user root yang baru: GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; terakhir, lakukan reboot server anda.

Compress Zip on the fly pada PHP

Berikut ini cara untuk melakukan compress file secara on the fly pada PHP: $zip = new ZipArchive(); if ($zip->open($tujuanzip", ZipArchive::OVERWRITE)) { $zip->addFile($sourcefiletozip,$filename_alias); $zip->close(); } header("Content-Type: application/zip"); header("Content-Disposition: attachment; filename=" . $filename . ".zip;");   //untuk force download readfile($tujuanzip.".zip");