我有兩個框架,我想單擊frame2中的按鈕,並且禁用frame1中的按鈕。這可能嗎?程序從frame1開始執行並打開frame2。從這個frame2中我想禁用frame1中的那個按鈕但是它不起作用.....怎麼可以做到?幀可以訪問另一個幀的按鈕/組件嗎?
附加信息:當我使用面板時,也有類似的問題。我只是不明白。 Plz幫助!
這裏是幀1編碼在程序開始執行:
public class Frame1 extends javax.swing.JFrame {
Frame2 frm2 = new Frame2();
public Frame1() {
initComponents();
}
public void buttonDisable(){
Btn1.setEnabled(false);
}
private void Btn1ActionPerformed(java.awt.event.ActionEvent evt) {
frm2.setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new Frame1().setVisible(true);
}
});
}
public javax.swing.JButton Btn1;
}
這裏就是我想禁用按鈕從幀2編碼:
public class Frame2 extends javax.swing.JFrame {
public Frame2() {
initComponents();
}
private void Btn2ActionPerformed(java.awt.event.ActionEvent evt) {
Frame1 frm1 = new Frame1();
frm1.buttonDisable();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new Frame2().setVisible(true);
}
});
}
public javax.swing.JButton Btn2;
}
應用程序應該只有一個JFrame。請參閱:http://stackoverflow.com/questions/9554636/the-use-of-multiple-jframes-good-bad-practice。使frame2成爲一個模型JDialog,那麼你不必擔心禁用按鈕。 – camickr 2013-04-05 19:51:14
謝謝,我不太清楚Dialog的工作是如何的,但我仔細研究了一下,現在我將用它來達到這樣的目的:) – Anafam 2013-04-12 12:41:03