Komunikasi data Antar Class di java | Tempat Belajar dan Berbagi Pengetahuan Java dan PHP
Home » , , , » Komunikasi data Antar Class di java

Komunikasi data Antar Class di java

Dipostingkan Oleh Ridwan Labs pada Selasa, 21 Januari 2014 - Diupdate Pada: 1/21/2014

Komunikasi data merupakan hal yang sangat penting dalam dunia programing. dengan ini memungkinkan kita untuk bisa mengambil dan mengeset data pada sebuah class dari class yang lainnya. hehehe jadi kaya dosenku aja. udah lah yang jelas biasanya komunikasi data ini ditandai dengan adanya methos setter dan getter.

Yup pertama kita buat aja sebuah project sederhana dengan Netbeans (pake IDE lain juga boleh namanya juga contoh). saya membuat sebuah program sederhana untuk mengambil data dari tabel yang berada JDialog kemudian hasilnya ditampilkan di textfield di JFrame.

Buat 1 JFrame dan 1 JDialog sebagai interface
Buat tampilan JFrame Kayak Gini:
Java - Basic, Java Swing, UI, Java - Konsep,

Dan buat tampilan JDialog Kyak gini:

Kemudian buat sebuah Class Mahasiswa kemudian ketikan kode berikut:

package net.fiqri.datademo;

public class MahasiswaOBJ {
private String nama;
private String nmp;
private String alamat;
private String jurusan;

public MahasiswaOBJ() {
}


public MahasiswaOBJ(String nama, String nmp, String alamat, String jurusan) {
this.nama = nama;
this.nmp = nmp;
this.alamat = alamat;
this.jurusan = jurusan;
}

public String getAlamat() {
return alamat;
}

public void setAlamat(String alamat) {
this.alamat = alamat;
}

public String getJurusan() {
return jurusan;
}

public void setJurusan(String jurusan) {
this.jurusan = jurusan;
}

public String getNama() {
return nama;
}

public void setNama(String nama) {
this.nama = nama;
}

Setelah itu Tambahkan event pada tombol yang berfungsi untuk memunculkan JDialog:


Kode:
DetailView dt=new DetailView(this, true);
dt.setVisible(true);
MahasiswaOBJ mho=dt.getTableData();
if(mho!=null){
jTextField1.setText(mho.getNama());
jTextField2.setText(mho.getNmp());
jTextField3.setText(mho.getAlamat());
jTextField4.setText(mho.getJurusan());
}else{
JOptionPane.showMessageDialog(null, "Data Mahasiswa Kosong/Tidak ada");
}

Kemudian Beralih ke JDialog, kemudian Tambahkan event mouseClicked pada tabel:
if(evt.getClickCount()==2){
dataTable=new MahasiswaOBJ();
TableModel data=jTable1.getModel();
dataTable.setNama(data.getValueAt(jTable1.getSelectedRow(), 0).toString());
dataTable.setNmp(data.getValueAt(jTable1.getSelectedRow(), 1).toString());
dataTable.setAlamat(data.getValueAt(jTable1.getSelectedRow(), 2).toString());
dataTable.setJurusan(data.getValueAt(jTable1.getSelectedRow(), 3).toString());
this.setVisible(false);
}

Beres deh, sekarang Coba Run



Sorry kalo tulisannya agak membingungkan, maklum masih belajar jadi jurnalis .
Mudah mudahan membantu dan bermanfaat.
kalau mo yang dah jadi, Neeeeeh Source Codenya


Share this article :

24 komentar:

  1. makasih y mas,.. eh salah,.. makasih y brow,.he.he.he.. karena udah menjawab pertanyaan saya. tutorialnya bermanfaat banget. hidup java.^_^.

    BalasHapus
  2. brow bleh ga' sya buat alamat blog brow di blog saya... trus klo saya dapet ilmu java dari brow, bleh ga' saya postingin ilmu itu di blog saya?? sbelumnya makasih y brow...

    BalasHapus
  3. ngeganggu lagi ni brow,^_^. pemanggilan jTable antar frame yang brow ajarkan sudah saya coba di rumah, untuk memanggil table-nya sukses. tapi pas di event mouseClicked-nya terjadi masalah, data yang tampil pas di klik tidak mau pindah di jTexField frame pemanggil. trus klo untuk format jYearchooser kan Integer brow, apa format yang bisa dipakai untuk inisialnya, karna dengan menggunakan :

    dataTable.setAngkatan(data.getValueAt(tabelBaru1.getSelectedRow(), 0).toString());

    netbeans tidak bisa mengenalinya.

    1 lagi brow, klo event MouseClicked-nya harus di klik berkali2 dulu, baru keluar datanya di jTexField, hal tersebut penyebabnya apa brow?. makasih untuk jawabanya..

    BalasHapus
  4. perhatikan even mouse clicknya:
    Pastikan ada: if(evt.getClickCount()==2)itu kalo mo ketika di double click, tapi klo mo satu kali click aja langsung keluar, maka ga usah pake if diatas. trus kalo memang data yang diambil mau berbentu integer, ya tinggal ganti aja method data getValueAt(index, index).toString(); nya jangan to sting tapi jadi getValueAt(index, index)aza Ok. semoga berhasil

    BalasHapus
  5. sorry brow pertanyaannya ada yang tinggal.. klo untuk format jDateChooser apa brow, pake getDateFormatString or getDate tanggalnya ga' mau keambil dari tabel untuk di kirim ke jTexField satunya(yang pake getValueAt), apa solusinya brow? thanks

    BalasHapus
  6. coba perhatikan pada model tabelnya, dalam tabel model, pas get value at nya di return Date gak, kalau gak coba aja di parse ke format tanggal, moga membantu

    BalasHapus
  7. Assalamualaikum wr.wb brow, nanya lagi nih brow tentang jTable antar frame.^_^. udah mentok bener nih brow.

    pertama udah saya coba untuk menukar format integer di classobjectmhs yang saya buat dengan format integer :

    public Integer getangkatan() {
    return angkatan;
    }

    public void setangkatan(Integer angkatan) {
    this.angkatan = angkatan;
    }
    pas saya running dan saya klik data di table mhs, tahun(jYearChooser) tetap ga' mau keluar.

    yang kedua :

    untuk jDateChooser sama juga dengan jYearChooser, data yang ada dalam tabel, pas saya klik tetap tidak mau keluar. padahal format di classobjectmhs-nya sudah saya ubah menjadi :

    private Date tgl1;

    public Date gettgl1(){
    return tgl1;
    }

    public void settgl1(Date tgl1){
    this.tgl1 = tgl1;
    }

    saya juga sudah coba menukar format tanggal-nya jadi :

    if(jDateChooser1.getDate() != null) {
    String pattern = "yyyy-MM-dd";
    SimpleDateFormat format = new SimpleDateFormat(pattern);
    tgl = String.valueOf(format.format(jDateChooser1.getDate()));
    }

    padahal format ini sudah saya coba untuk menggunakan satu frame saja, pas saya running dan data-nya di klik jDateChooser-nya mau tampil.

    yang ketiga :

    pas saya coba merunning program, data yang ada dalam jTable mau tampil ke dalam jTextField frame pemanggil. tapi yang mau dipanggil hanya data dari salah satu mahasiswa saja, pas saya klik data untuk mahasiswa selanjutnya terjadi error.

    penjelasannya gini brow. kan pas di jalanin jTable-nya dan di tampilkan datanya, saya akan mengklik salah satu data mahasiswa, setelah di klik data mahasiswa tersebut akan tampil di jTextField dan jComboBox frame pemanggil, dan jTable tersebut akan hilang, karena jTable tersebut kondisinya setVisible false, setelah diklik. data mahasiswa pertama tersebut mau tampil. tapi pas di klik untuk mahasiswa kedua terjadi error, errornya seperti di bawah ini brow(sebagian potongan error-nya saja y brow) :

    Exception occurred during event dispatching:
    java.lang.NullPointerException
    at Akbid.TablMhsAkbid.tabelBaru1MouseClicked(TablMhsAkbid.java:269)
    at Akbid.TablMhsAkbid.access$200(TablMhsAkbid.java:37)
    at Akbid.TablMhsAkbid$3.mouseClicked(TablMhsAkbid.java:205)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
    at java.awt.Component.processMouseEvent(Component.java:6041)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)

    jTable-nya ga' mau hilang setelah di klik, harus di close secara manual terlebih dahulu. tapi anehnya pas di close manual data tersebut baru tampil di jTexField dan jComboBox yang ada pada frame pemanggil tersebut.

    tolong solusinya brow, klo brow ga' keberatan, bisa ga' brow jelasin lagi ma posting terbaru lewat blog brow(sama listing program-nya klo bisa y brow.^_^, yang make jYearChooser dan jDatehooser).
    sebelumnya mintak maaf nih brow udah ngeganggu hari2 brow untuk menjawab pertanyaan saya.^_^. makasih..

    BalasHapus
  8. brow, udah saya download sourcode-nya, tapi library untuk tanggalnya error. saya tes pake library jDateChooser juga ga' mau kebuka... mintak donk library-nya...???^_^.. piiiss juga...

    BalasHapus
  9. Peke JDateChoooser Koq supaya gak error cobadeh tambahkan dulu jdate choosernya ke library dan palete-nya netbeans (klo pake netbeans) Piis ah

    BalasHapus
  10. sory,..brow..agak lama nih ga' nanya2..maklum baru balik dari kampung.he..he...thank brow, skarang udah agak ngerti dikit masalah jTable, walaupn blm begitu banyak, maklum iQ standar..ha..ha..haaa...o y brow, klo kita pengen membuat program untuk jadwal kul, apa aja field yang kita butuhkan, selain kode, nama dosen, kode kul, nm mtk kul, jam masuk, jam keluar, minggu, hari, lokal, kelas,..pa lagi y brow kira2 yang dibutuhkan..trus gimana mengatur supaya jadwal mata kuliah per jam itu, ngak bentrok...?.bisa di postingin ngak brow utk buat program database...makasih y brow..^_^..

    BalasHapus
  11. Coba buatkan class-class tersendiri (Pisahkan dulu). so kita bisa liat yang mana yang kurang yang mana yang perlu dihilangkan. coba deh baca dulu ini:
    Perancangan

    BalasHapus
  12. thank brow, untuk masukkannya...bermanfaat nih buat newbie java seperti saya,..karena selama ini lansng coding..makasih brow...o y brow, kok brow ga' da lagi postingin tentang tahap2 pembuatan program database...?klo bisa sampe selesai brow postingan database-nya..^_^..ini sih sekedar usul...supaya newbie java lebih terstruktur pemrograman database-nya...^_^...

    BalasHapus
  13. Pengennya sih, tp jadwalnya kacau nih brow jadi ya gitu deh, ntar deh klo sempet

    BalasHapus
  14. kapan nih brow, postingin pembuatan aplikasi database lagi..^_^..kalo bisa yang berhubungan sama akademik kampus brow, soalnya sekarang kan aku lagi kuliah...jadi bisa lebih tau bagaimana sistem sebuah kampus dibuat, klo bisa digabungin ma swing ekstream biar lebih keren..ok brow...thanks brow...

    BalasHapus
  15. mas mau nanya tau cara buat DBpaket.jar g?

    BalasHapus
  16. @anonim: Maksudnya gimna bro??

    BalasHapus
  17. brooooo..tengkyu banget ya..dengan adanya tulisan diatas, gw selangkah lebih maju nih dlm mempelajari rumitna bhs java...semoga tetep sukses bro....

    p.s:
    ditunggu tulisan2 bermutunya di masa mendatang. :)

    BalasHapus
  18. sorryy broow

    gw pengen jadi programer tp bingun harus mulai dari mana ??

    kasih tau tips"nya buat jadi seorang programer brow...

    thk

    BalasHapus
  19. terima kasih mas .,.,moga makin sukses ,

    BalasHapus
  20. makasih tutorialn nya
    sy mau tanya kalau di balik gmana yah ??

    pas tabel di klik mncul JDialog yg isi nya ada di tabel td tp berupa label
    ini gmana y???

    BalasHapus
  21. gan mau tanya dong ..
    class DetailView dt = new DetailView (this, true);
    posisinya dimana ? apakah itu nama JDialog ?

    terus method : getTableData() posisinya ada dimana ??

    thanks

    BalasHapus
    Balasan
    1. Iya itu constructor dari class JDialog

      getTableData ada di Class Detail View

      Hapus

Cari Artikel



 
Support : Admin
Copyright © 2013. Tempat Belajar dan Berbagi Pengetahuan Java dan PHP - All Rights Reserved
Template Created by Creating Website Modified by CaraGampang.Com
Proudly powered by Blogger