您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase实现jframe中通过按钮关闭其它jframe窗体
发布时间:2017-10-01 16:15:09编辑:雪饮阅读()
有这样的一个需求:
需要在一个jframe中去关闭另外一个jframe的窗体。
下面test1为入口的jframe,该jframe中将有一个按钮,点击该按钮就可以关闭另外一个test2的jframe窗体。
test1源码:
package test;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class test1 extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel = null;
public test1() {
super();
initialize();
}
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel = new JLabel();
jLabel.setText("我是test1窗体");
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(jLabel, BorderLayout.NORTH);
}
return jContentPane;
}
}
test2源码:
package test;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
public class test2 extends JFrame {
private static final long serialVersionUID = 1L;
private static test1 test1Obj;
private JPanel jContentPane = null;
private JButton jButton = null;
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("点击我就可以关闭TEST1窗口");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//关闭test1窗体的方法
test1Obj.dispose();
}
});
}
return jButton;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
test2 thisClass = new test2();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
public test2() {
super();
test1Obj=new test1();
test1Obj.setVisible(true);
initialize();
}
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJButton(), BorderLayout.NORTH);
}
return jContentPane;
}
}
关键字词:java,javase,swing,jframe