0
後禁用的JFrame我有這個2的JFrame類:啓用/隱藏其他的JFrame
public class Frame1 extends javax.swing.JFrame {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
private JButton button1;
button1 = new JButton("Open Frame2");
private void button1ActionPerformed(java.awt.event.ActionEvent evt) {
this.setEnabled(false); // disable Frame1 until Frame2 is showing
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
Frame2 obj2 = new Frame2();
obj2.setVisible(true);
}
});
}
}
public class Frame2 extends javax.swing.JFrame {
setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
public Frame2() {
this.setVisible(false);
}
Frame1 obj1 = new Frame1();
private JButton button2;
button2 = new JButton("Hide Frame2 and go to Frame1");
private void button2ActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible(false);
}
}
正如你可以看到,當我點擊button1
Frame1
被禁用,Frame2 obj2
創建。
- 首先,我想知道我所做的是禁用/離焦一個父母
JFrame
以顯示另一個焦點上的正確方法。 - 然後我只需要在啓用
Frame2
之後啓用Frame1
,類似obj1.setEnabled(true)
。我怎樣才能做到這一點?
請參閱[使用多個JFrames,好/壞實踐?](http://stackoverflow.com/a/9554657/418556)(使一個框架成爲模態對話框,或者只是使用'CardLayout')。 –
好的,謝謝,我將Frame2更改爲「public class Dialog2 extends javax.swing.JDialog {}」現在我怎麼能達到我的目的?我怎樣才能讓Frame1父對象的Dialog2子? – Frank
請編輯您的問題以包含反映您對[*如何製作對話框*]的理解的[sscce](http://sscce.org/)(http://docs.oracle.com/javase/tutorial/uiswing /components/dialog.html)。 – trashgod