Thursday, January 29, 2009

Menghubungkan Dua Form Dalam Java Swing

Dalam tutorial java kali ini, saya akan menunjukkan bagaimana cara menghubungkan / memanggil sebuah form melalui form yang lain dalam java swing. Langkah pertama yang harus dilakukan adalah membuat dua buah form terlebih dulu, misalnya FormPertama dan FormKedua. Caranya klik

File > New Project > Java Application

Beri nama project, misalnya Panggil Form. Hilangkan tanda cek pada Create Main Class, lalu klik finish.

Kemudian buat dua buah from, klik kanan pada project tadi, kemudian pilih
New > JFrame Form

Ubah nama form tersebut menjadi FormPertama. Lakukan hal yang sama untuk membuat FormKedua dan tempatkan pada package yang sama dengan FormPertama. Tambahkan sebuah button pada FormPertama yang nantinya dipakai untuk memanggil FormKedua, ganti nama button tersebut dengan butonPanggil. Tambahkan pula sebuah button pada FormKedua yang nantinya berguna untuk menutup form tersebut, ganti nama buton tersebut dengan butonTutup. Modifikasi kedua form sehingga tampilannya seperti gambar dibawah ini.







Klik kanan pada butonPanggil > Events > Action > actionPerformed

Anda akan dibawa ke jendela source dan akan menemukan kode program seperti ini :
private void butonPanggilActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

Ubah kode tersebut sehingga menjadi :

private void butonPanggilActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new FromKedua().setVisible(true);
}

Klik kanan pada butonTutup > Events > Action > actionPerformed

Anda akan dibawa ke jendela source dan akan menemukan kode program seperti ini :

private void butonTutupActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

Ubah kode tersebut sehingga menjadi :

private void butonTutupActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose();
}

Kemudian Run File FromPertama.java dalam jendela project tree anda. O iya, pada FormKedua, ubahlah property defaultCloseOperatioin menjadi DISPOSE agar saat tanda close pada FormKedua diklik, jendela yang diclose hanya jendela FromKedua saja, jendela FormPertama tetap aktif.

16 comments:

  1. asik meneh nganggo singleton ji.. jadi tiap form dibuat instance static. mangstapnya lagi karena dia static bisa dipanggil di mane aje...

    FormDua.getInstance().setVisible(true);

    such like that.. dimanapun suka suka.. seperti nganggo vb hahaha.. manggil form sak karepe dewek..

    ReplyDelete
    Replies
    1. codingnya itu ditaruh dimana gan??
      di form 2 tau di form1 ??

      Delete
  2. Permisi...
    Klo formnya lebih dari 2 gmn caranya ???

    ReplyDelete
  3. @Mang Ted
    HOoh mang, mantap :D

    @Anonymous
    Bisa, ya buat form baru lagi aja, dan tambahkan sedikit kode, persis seperti kita membuat form yang kedua, coba deh kode diatas dipraktekkan dulu, bisa membantu ada untuk memahaminya,,,

    ReplyDelete
  4. Bang ane coba koq gk bisa y??
    cara ganti nama form nya gmana y??
    maklum baru kmaren megang netbeans..

    mohon pencerahan..

    ReplyDelete
  5. sob, kalau misal event ny diganti key pressed bs gak ?
    misal ;
    frame 2 = frame login
    frame 1 = berisi menu dg submenu login, logout, dan exit

    bagaimana caranya agar saat kita memilih menu login, maka frame 2 tersebut bisa muncul ? mohon bantuannya yach sob.. thn'x before, :D

    ReplyDelete
  6. terima kasih mas pencerahannya :D

    ReplyDelete
  7. wah singkat padat dan jelas ... terima kasih gan sangat membantu sekali apalagi dispose(); nya ^_^

    ReplyDelete
  8. makasi makasi..
    thankyou
    suwund

    ReplyDelete
  9. bagaimana caranya menampilkan satu data dalam dua form

    ReplyDelete
  10. kalau di jcreator caranya bagaimana ya?

    ReplyDelete
  11. mas, mau tanya kalo form2 sudah terbuka tapi si form 1 nya masih ada dibelakangnya. cara ilangin form1 nya waktu form2 sedang dijalankan gimana? makasih.

    ReplyDelete
    Replies
    1. tinggal kasih dispose(); di bawahnya kode new form2.setVisible(true); gan

      Delete
  12. mas, mau tnya jika Form pertama itu kita ganti nama tombolnya "New"
    dan nombol kedua menjadi "Simpan" masalah nya adalaha gmana caranya agar Form Kedua saat ditekan tombol "Simpan" bisa Ngelink dan muncul data tsb di form pertama yg berisi Tabel. Tanpa Me "Refresh" Mohon jwban nya y mas Ditunggu.

    ReplyDelete