Swing頂級容器--JDialog

窗體組件類結構
在這裏插入圖片描述
在這裏插入圖片描述
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運行結果如下所示
在這裏插入圖片描述
點擊彈出對話框按鈕,效果如下
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章