Boleh tau implementasinya untuk gimana nih? apa mau create formnya secara dinamis? Apa kira-kira yang dibutuhkan itu sebuah Factory Pattern? yang
nantinya bisa digunakan untuk membuat instance suatu form.
public frameUtama() {
// penciptaan object InternalFrame1
iframe1 = new InternalFrame1(this);
//umpetin dulu dia karena blum mau dipake.
iframe1.setVisible(false);
// di set agar dia ngumpet bila di close.. bukannya dihancurkan...
iframe1.setDefaultCloseOperation(JInternalFrame.HIDE_ON_CLOSE);
//object dari JInternalFrame InternalFrame1 dimasukan disini
desktop.add(iframe1);
}
}
public void loadJInternalFrame(){
if(!frameCreate.isVisible()){ //cek klo dia gak visible.. langsung bikin visible
iframe1.setVisible(true);
try {
iframe1.setSelected(true);
} catch (java.beans.PropertyVetoException e) {}
}
}
}
Kenapa seperti itu, menurut pengalamanku bila object internalFrame-nya diadd di method, maka saat listener dipanggil lebih dari 1 kali maka akan
tercipta penggandaan internalFrame.
Trus mas aquwan kalo udach pake method setVisible(true) gak udach lagi pake method show().
Satu lagi saya buat instance InternalFrame-nya di konstruktor, agar penciptaan objek itu hanya sekali, kalo yang punya mas aquwan itu bila listener
yang memanggil method itu diklik 2 kali maka akan terjadi 2 kali penciptaan objek dari InternalFrame.
Ini hanya berdasarkan pengalaman aja, kalo mau dipake monggo, kalo gak juga gak apa2
Semoga membantu dan berkenan di hati
"Good programmers use their brains, but good guidelines save us having to think out every case."
(Francis Glassborow).
terima kasih banyak atas saranya sebenarnya saya juga udah buat kayak gitu ini lengkapnya nya function punya saya.
public void loadJInternalFrame(String namajinternalframe,String judul) throws SQLException{
boolean AlreadyLoaded = isLoaded(judul); //untuk ngecek undah tampil belum
if(AlreadyLoaded==false){ //jika belum
namajinternalframe frminter = new namajinternalframe(sql,judul);
Desk1.add(frminter);
frminter.setVisible(true);
try {
frminter.setMaximum(true);
} catch (PropertyVetoException ex) {
ex.printStackTrace();
}
frminter.show();
try{
frminter.setIcon(false);
frminter.setSelected(true);
}catch(PropertyVetoException e){
}
}else{ // sudah
try{
frminter.setIcon(false);
frminter.setSelected(true);
}catch(PropertyVetoException e){}
}
}
sekarang permasalahan saya supaya sy tidak menulis itu semua berulang2 setiap punya internalform banyak tapi hanya dengan satu function itu
internalform saya yg banyak bisa di load terima kasih banyak..