import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Scanner;
//启动类 //弹窗默认就有关闭事件,我们就不用再写关闭方法
public class main extends JFrame {
//创建一个初始化窗口的构造器
public main(){
//显示窗口
this.setVisible(true);
//设置大小
this.setSize(700,500);
//关闭窗口事件
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//把JFrame的东西放到容器中
Container container=this.getContentPane();
//使用绝对布局(绝对定位),就是想把按钮放那就用坐标去放就可以了
container.setLayout(null);
//按钮
JButton button=new JButton("点击弹出对话");
//使用坐标位置去写死按钮的位置,只要把布局设置为:container.setLayout(null);那我们就可以自定义设置按钮的位置了
button.setBounds(30,30,200,50);//绝对定位这个按钮的位置
//点击按钮时,弹出一个弹窗,所以需要一个事件
button.addActionListener(new ActionListener(){//直接new一个系统自带的监听类:ActionListener,这个类中会让你重写一个方法,这个方法的作用就是,你点击绑定这个事件的按钮时,会执行方法中代码
public void actionPerformed(ActionEvent e){
//当点击按钮时,我们就创建弹窗
new MyDialogDemo();
}
});
container.add(button);//加入到容器中后,他会相对容器里,根据坐标位置进行自动定位
}
public static void main(String[] args) {
new main();
}
}
//弹窗的窗口:创建弹窗,要继承对应的弹窗类,继承后,也要重写我们需要的抽象方法
class MyDialogDemo extends JDialog{
public MyDialogDemo(){
//设置弹窗可见
this.setVisible(true);
//设置弹窗的位置和大小
this.setBounds(100,100,500,500);
//设置默认关闭弹窗的操作,但是我们是不需要设置弹窗关闭的代码,因为他默认弹窗是可以关闭的,如果设置了这行代码,当点击弹窗关闭时,主窗口也会关闭
// this.setDefautCloseOperation(WindowConstants.EXIT_NO_CLOSE);
//创建容器,把弹窗添加到容器中
Container con=this.getContentPane();
//把容器设置为绝对定位,然后就可以自己设置位置了,系统不会自动帮设置
con.setLayout(null);
//创建一个文本框并添加内容,并添加到容器中
con.add(new Label("java"));
}
}