第13章 Swing程序設計----JDialog窗體


JDialog窗體是Swing組件中的對話框

JDialog窗體的功能是從一個窗體中彈出另一個窗體,就像是在使用IE瀏覽器時彈出的確定對話框一樣。

在應用程序中創建JDialog窗體需要實例化JDialog類,通常使用以下幾個JDialog類的構造方法

  public JDialog(): 創建一個沒有標題和父窗體的對話框。

  public JDialog(Frame f): 創建一個指定父窗體的對話框,但該窗體沒有標題。

  public JDialog(Frame f, boolean model): 創建一個指定模式的父窗體對話框,但該窗體沒有指定標題。

  public JDialog(Frame f, String title): 創建一個指定父窗體和標題的對話框。

  public JDialog(Frame f, String title, boolean model): 創建一個指定窗體、標題和模式的對話框。

import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingConstants; import javax.swing.WindowConstants; class MyJDialog extends JDialog {//創建新類繼承JDialog類
    public MyJDialog(MyFrame frame){ //實例化一個JDialog類對象,指定對話框的父窗體、窗體標題和類型
        super(frame,"第一個JDialog窗體",true); Container container=getContentPane();  //創建一個容器
        container.add(new JLabel("這是一個對話框"));//在容器中添加標簽
        setBounds(120,120,100,100);//設置對話框窗體大小
 } } public class MyFrame extends JFrame{ public static void main(String args[]){ new MyFrame(); } public MyFrame(){ Container container=getContentPane(); container.setLayout(null);
     //父窗體 JLabel jl
=new JLabel("這是一個JFrame窗體"); jl.setHorizontalAlignment(SwingConstants.CENTER); //將標簽的文字至於標簽中間位置 container.add(jl); JButton bl=new JButton("彈出對話框"); bl.setBounds(10, 10, 100, 21); bl.addActionListener(new ActionListener(){ //為按鈕添加鼠標單擊事件 public void actionPerformed(ActionEvent e){ new MyJDialog(MyFrame.this).setVisible(true); //使MyDialog窗體可見 } }); container.add(bl); container.setBackground(Color.white); setSize(200, 200); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setVisible(true); } }

     運行結果如圖:

  

  分析:在本實例中,為了使對話框在父窗體彈出,定義了一個JFrame窗體,首先在該窗體中定義一個按鈕,然后為此按鈕添加一個鼠標單擊監聽事件(在這里使用了匿名內部類的形式)。這里使用new MyJDialog().setVisible(true)語句使對話框窗體課件,這樣就實現了用戶單擊該按鈕后彈出對話框功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM