![]()
//导入Java的类 *表示:此包中含有多个不一样的类(范围广)
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Demo extends JDialog{
public Demo(JFrame frame){//设置对话框的属性
super(frame,"对话框窗口",true);//子类的构造方法中调用父类的方法
//super中的三个参数所代表的意思:
/*第一个参数:父窗体对象
*第二个参数:对话框的标题
*第三个参数:布尔类型值用于是否阻塞父类窗体
*true:表示阻塞父类窗体
*false:表示不阻塞父类窗体
*/
//JDialog d=new JDialog();当父类被继承时,这句代码可不写
Container c=getContentPane();//获取容器
c.add(new JLabel("This is a new Dialog !"));//容器调用添加标签
setBounds(100,100,100,100);//设置对话框的位置和大小
}
public static void main(String[] args){
JFrame f=new JFrame("父窗体");//创建新的窗体
f.setBounds(50,50,300,300);//设置父类窗体位置和大小
f.setVisible(true);//设置父类窗体可见
Container c=f.getContentPane();//父类窗体获取容器
JButton btn=new JButton("弹出对话框");//创建一个按钮的类
c.setLayout(new FlowLayout());//设置流体 布局
c.add(btn);//添加按钮显示
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
btn.addActionListener(new ActionListener(){//给按钮添加动作监听 防止再次跳出相同的窗口
@Override
public void actionPerformed(ActionEvent e) {
Demo d=new Demo(f);实例化父窗体
d.setVisible(true);//设置窗体可见最好放在最后面
}
});
}
}