我创建了两个JFrame 一个是aJFrame 另一个是bJFrame 其上各有一个按钮分别是aJButton bJButton
当我点击aJButton时bJFrame出现 ,当我点击bJButton时bJFrame消失aJFrame显示希望给位大虾,牛人帮小弟解答解答!
当我点击aJButton时bJFrame出现 ,当我点击bJButton时bJFrame消失aJFrame显示希望给位大虾,牛人帮小弟解答解答!
1. 创建的时候,将aJframe的句柄存到 bJframe, 将bJframe的句柄存到aJframe
2. 点aButton的事件里面, 分别对aJframe, bJframe进行setVisible(true/false)
1.创建bJframe
2.把aFrame的句柄传给bJframe
3.aFrame.setVisible(false)
4.bFrame.setVisible(true)bButton事件:
1.bFrame.setVisible(false)
2.aFrame.setVisible(true)
3.bFrame.dispose()
你将2个JFame中的按钮事件写到一个事件处理里面,将2个JFrame对象传给事件处理,
当点击aJFrame中的按钮时,aFrame.setVisible(false) ;bFrame.setVisible(true)
当点击bJFrame中的按钮时,bFrame.setVisible(false) ;aFrame.setVisible(true)
也可以将A作为B的成员,而B的事件处理时回传一个B的引用this给A
static JFrame tempa=null; //当你创建aJFrame时,把其reference放进来
static JFrame tempb=null; //当你创建 bJFrame时,把其reference放进来
。
。
。
}
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;public class DoubleFrame {
public static void main(String[] args) {
final JFrame jf1 = new JFrame("frame a");
final JFrame jf2 = new JFrame("frame b");
jf1.setSize(300, 200);
jf1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton jb1 = new JButton("button a");
jb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jf1.setVisible(!jf1.isShowing());
jf2.setVisible(!jf2.isShowing());
}
});
jf1.getContentPane().add(jb1);
jf1.setVisible(true);
jf2.setSize(300, 200);
jf2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton jb2 = new JButton("button b");
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jf1.setVisible(!jf1.isShowing());
jf2.setVisible(!jf2.isShowing());
}
});
jf2.getContentPane().add(jb2);
}
}