窗體組件類結構
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運行結果如下所示
點擊彈出對話框按鈕,效果如下