窗体组件类结构
JDialog对话框
- JDialog窗体的功能是从一个窗体弹出到另一个窗体,就像使用IE浏览器时弹出的确定对话框一样
- JDialog窗体实质上就是另一种类型的窗体,它与JFrame窗体类似,是使用时也需要调用getContentPane()方法将窗体转换为容器,然后在容器中设置窗体的特性
JDialog构造方法
- JDialog():创建一个没有标题和父窗口的对话框
- JDialog(Frame f):创建一个指定父窗口但没有标题的对话框
- JDialog(Frame f,boolean model):创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题
- JDialog(Frame f,String title):创建一个指定标题和父窗体的对话框
- JDialog(Frame f,String title,boolean model):创建一个指定标题、窗体和模式的对话框
Demo
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Demo05 {
public static void createJDialog(){
//实例化一个JFrame对象,自带标题
JFrame jf = new JFrame("父窗体");
//设置父窗体宽高
jf.setSize(400,400);
//获取一个容器
Container container = jf.getContentPane();
//设置容器背景颜色
container.setBackground(Color.white);
//定义一个按钮
JButton jButton = new JButton("弹出对话框");
container.add(jButton);
//设置布局管理器
container.setLayout(null);
//设置按钮位置,大小
jButton.setBounds(10,10,100,21);
jButton.setVisible(true);
//为按钮添加一个鼠标单击事件
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//实例化一个JDialog类对象,指定对话框的父窗体,窗体标题和类型
JDialog jDialog = new JDialog(jf,"对框框窗体");
//获取JDialog窗体的容器
Container container1 = jDialog.getContentPane();
JLabel jLabel = new JLabel("第一个对话框");
container1.add(jLabel);
jDialog.setBounds(100,100,100,100);
//设置对话框可见
jDialog.setVisible(true);
}
});
//设置父窗体可见
jf.setVisible(true);
//设置窗体关闭方式
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
createJDialog();
}
}
Demo运行结果如下所示
点击弹出对话框按钮,效果如下