【发布时间】:2013-03-28 08:44:20
【问题描述】:
我有两个框架,我想单击框架 2 中的按钮并禁用框架 1 中的按钮。这可能吗?程序从 frame1 开始执行并打开 frame2。正是从这个框架2,我想在框架1中禁用该按钮但它不起作用.....怎么做?
附加信息:当我使用面板时,我也遇到了类似的问题。我只是不明白。请帮忙!
这是程序开始执行的frame1的编码:
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;
}
这是我要禁用该按钮的 frame2 的编码:
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。请参阅:stackoverflow.com/questions/9554636/…。让frame2成为模型JDialog,那么你就不用担心禁用按钮了。
-
谢谢,我不太确定 Dialog 的工作原理,但我研究了一下,现在我要把它们用于这些目的:)