私はこの2つの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
て、別の親をフォーカスして上に表示する正しい方法であるかどうかを知りたいです。 - そして、 を
Frame1
隠した後に有効にする必要がありFrame2
ますobj1.setEnabled(true)
。どうやってやるの?