//导入需要的类
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Frame1 extends JFrame {
private static final long serialVersionUID = 1L;
public static void main(String args[]) {//主方法
try {
Frame1 frame = new Frame1();//实例化一个frame1对象,相当于画板
frame.setVisible(true);//frame对象可见,你可以设置成false测试下
} catch(Exception e) {
e.printStackTrace();
}
}
public Frame1() {
super();
getContentPane().setLayout(null);//设置布局
setBounds(100, 100, 300, 300);//设置frame的边界
//设计关闭frame说的动作为退出
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/**
*添加一个按钮,该按钮有一个监听器,其功能是实例化一个Frame2对象
*/
JButton btn = new JButton();
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new Frame2();
}
});
btn.setText("OpenFrame2");//button的名称是OpenFrame2
btn.setBounds(92, 107, 106, 26);//button的边界
getContentPane().add(btn);//把button 添加到panel上
}
}
class Frame2 extends JFrame {
private static final long serialVersionUID = 1L;
public Frame2() {
super();
setTitle("Frame2");
setBounds(100, 100, 215, 99);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;//上面的都是导入相应的包
public class Frame1 extends JFrame { //继承JFrame窗口
private static final long serialVersionUID = 1L;//定义静态常量
public static void main(String args[]) {//主方法
try { //捕捉异常
Frame1 frame = new Frame1();//创建容器
frame.setVisible(true);//设置容器为可见
} catch(Exception e) {
e.printStackTrace();
}
}
//构造方法
public Frame1() {
super();
getContentPane().setLayout(null);//改变jframe默认的布局
setBounds(100, 100, 300, 300);//设置容器的边界
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置点击'X'时的操作,这里为关闭程序
JButton btn = new JButton();//创建按钮
//为按钮添加监听器(通过匿名类实现)
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new Frame2();
}
});
btn.setText("OpenFrame2");//设置button上显示的内容
btn.setBounds(92, 107, 106, 26);//设置button的大小和位置
getContentPane().add(btn);//向容器中添加按钮
}
}
//自定义容器类
class Frame2 extends JFrame {
private static final long serialVersionUID = 1L;
public Frame2() {
super();
setTitle("Frame2");
setBounds(100, 100, 215, 99);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}