//导入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);//设置窗体可见最好放在最后面 } }); } }