Rabu, 04 Juni 2014

Membuat MDI Form di Java





Hallo. Jumpa lagi dengan saya yang cakep dan baik hati. Artikel kali tampak lebih berat (karena harus memahami bagaimana class-class Java bekerja) dan merupakan langkah pertama dalam membuat aplikasi database (langkah kedua tentu saja operasi database). Marilah kita mulai dengan menyisir satu persatu tiap langkah pemrograman agar tidak tampak berat. 

Pada artikel terdahulu, membuat Form dilakukan dengan menurunkan class JFrame. Tetapi pada form MDI, kita memakai class JDesktopPane dan JInternal Frame. JDesktopPane akan digunakan sebagai Form MDI, sedangkan JInternalFrame akan digunakan untuk MDI Child. 

Pada artikel ini, kita akan membuat satu Form MDI dan 2 form MDI Child (Daftar Barang dan Daftar Pelanggan). Dasar-dasar pembuatan Form dengan dekorasi sudah saya singgung di artikel Mendekorasi Title Bar Window pada Java. Kode program di artikel ini merupakan modifikasi dari artikel tadi. 

Membuat MDI Child
Buatlah Form Daftar Pelanggan dan Daftar Barang dengan kode seperti dibawah ini:



Secara garis besar, cara pembuatan MDI Child sama dengan Form pada umumnya. Perbedaannya hanya terletak pada dua hal: Tidak adanya method main() dan memakai class JInternalFrame sebagai ganti class JFrame. Method main() dihilangkan, karena class tidak dieksekusi secara mandiri melainkan dipanggil dari class lain.

Membuat MDI Form
Pembuatan MDI Form pun juga tidak jauh berbeda dari pembuatan Form pada umumnya. Perbedaannya adalah:
  • Mengganti container dengan JDesktopPane.
  • Menggeser Form MDI Child tidak lagi menggunakan setRelativeTo(null) tetapi dengan setLocation dengan isi variabelnya didapat dari class Dimension (dari paket java.awt.Dimension)


    Dimension desktopSize = theDesktop.getSize();
    Dimension jInternalFrameSize = frame.getSize();
           
    frame.setLocation(
              (desktopSize.width - jInternalFrameSize.width)/2,
              (desktopSize.height- jInternalFrameSize.height)/2
    );


    frame adalah variabel instan dari Form MDI Child, sehingga pada artikel ini bisa variabel dari Form Daftar Pelanggan atau Daftar Barang


Langkah-langkah pembuatan:
  1. Buat class yang diturunkan (inherited) dari JFrame dan mempunyai interface ke ActionListener


    class FormUtama extends JFrame  implements ActionListener {
    }

  2. Deklarasikan class JDesktopPane dengan

    import javax.swing.JDesktopPane;
  3. Tambahkan deklarasi class JMenuBar
    JMenuBar adalah obyek yang mengatur tempat menu paling atas

    import javax.swing.JMenuBar;
  4. Tambahkan deklarasi class JMenu
    JMenu adalah detil menu. Sebagai contoh jika kita menginginkan menu Arsip yang mempunyai anggota Daftar Barang dan Daftar Pelanggan, maka tempatkan menu Arsip pada JMenuBar dan kedua menu terakhir pada JMenu

    import javax.swing.JMenu;
  5. Menambahkan menu JMenuBar dan JMenu pada JDesktop

    JMenu menu = new JMenu("Arsip");
    Tambahkan fasilitas shortcut menu. Contoh Shortcut menu dibawah ini adalah pada huruf A pada kata Arsip, sehingga huruf A akan bergaris bawah sebagai penanda shortcut

     menu.setMnemonic(KeyEvent.VK_A);

    Menu Daftar Pelanggan dan Daftar Barang di-instankan dari class JMenu

    JMenuItem menuItem = new JMenuItem("Daftar Pelanggan");
    JMenuItem menuItem = new JMenuItem("Daftar Barang");


    Menu-menu ini nantinya akan menerima aksi dari pengguna. Aksi inilah yang mengharuskan kita membuat interface ke ActionListener.

    menuDaftarBarang.addActionListener(this);

    Hasil tangkapan aksi ini lantas dieksekusi pada method

    public void actionPerformed(ActionEvent e) {
            if ("Daftar Pelanggan".equals(e.getActionCommand())) { //new
                createDaftarPelanggan();
            }
            else
            if ("Daftar Barang".equals(e.getActionCommand())) {
                createDaftarBrg();
            }
            else { //quit
                quit();
            }
        }


    dan dikerjakan di masing-masing method menu-nya (createDaftarPelanggan() dan createDaftarBrg())

    Perlu diingat, class DaftarPelanggan dan DaftarBrg harus dalam satu folder dengan FormUtama.class. Jika tidak anda harus menggunakan sintak import. Contoh: jika anda meletakkan dalam folder DaftarClass dan folder itu dibawah folder FormUtama, sehingga anda membuat deklarasi seperti ini:

    import DaftarBrg;
Dibawah ini adalah kode program untuk MDI Form:

Membuat MDI Form di Java Rating: 4.5 Diposkan Oleh: Good Dreamer

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.