AWT Dialog类

1 什么是Java AWT Dialog

Dialog对话框控件表示一个带有标题和边框的顶级窗口,用于从用户那里获取某种形式的输入。

2 Java AWT Dialog的语法

public class Dialog
    extends Window

3 Java AWT Dialog的构造方法

构造方法 描述
Dialog(Dialog owner) 使用指定的所有者 Dialog 和空标题构造一个最初不可见的无模式 Dialog。
Dialog(Dialog owner, String title) 使用指定的所有者 Dialog 和标题构造一个最初不可见的无模式 Dialog。
Dialog(Dialog owner, String title, boolean modal) 使用指定的所有者 Dialog、标题和模式构造一个最初不可见的 Dialog。
Dialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc) 使用指定的所有者 Dialog、标题、模式和 GraphicsConfiguration 构造一个最初不可见的 Dialog。
Dialog(Frame owner) 使用指定的所有者 Frame 和空标题构造一个最初不可见、无模式的 Dialog。
Dialog(Frame owner, boolean modal) 使用指定的所有者框架和模式以及空标题构造一个最初不可见的对话框。
Dialog(Frame owner, String title) 使用指定的所有者框架和标题构造一个最初不可见的无模式对话框。
Dialog(Frame owner, String title, boolean modal) 使用指定的所有者框架、标题和模式构造一个最初不可见的对话框。
Dialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc) 使用指定的所有者框架、标题、模式和 GraphicsConfiguration 构造一个最初不可见的 Dialog。
Dialog(Window owner) 构造一个最初不可见、无模式的 Dialog,它具有指定的所有者 Window 和一个空标题。
Dialog(Window owner, Dialog.ModalityType modalityType) 构造一个最初不可见的 Dialog,它具有指定的所有者 Window 和模态以及一个空标题。
Dialog(Window owner, String title) 使用指定的所有者 Window 和标题构造一个最初不可见、无模式的 Dialog。
Dialog(Window owner, String title, Dialog.ModalityType modalityType) 使用指定的所有者窗口、标题和模式构造一个最初不可见的 Dialog。
Dialog(Window owner, String title, Dialog.ModalityType modalityType, GraphicsConfiguration gc) 使用指定的所有者窗口、标题、模式和 GraphicsConfiguration 构造一个最初不可见的 Dialog

4 Java AWT Dialog的方法

方法 描述
void addNotify() 通过将其连接到本机屏幕资源,使此 Dialog 可显示。
AccessibleContext getAccessibleContext() 获取与此 Dialog 关联的 AccessibleContext。
Dialog.ModalityType getModalityType() 返回此对话框的模式类型。
String getTitle() 获取对话框的标题。
void hide() 已弃用。从 JDK 1.5 版开始,由 setVisible(boolean) 取代。
boolean isModal() 指示对话框是否是模态的。
boolean isResizable() 指示此对话框是否可由用户调整大小。
boolean isUndecorated() 指示此对话框是否未修饰。
protected String paramString() 返回一个表示此对话框状态的字符串。
void setModal(boolean modal) 指定此对话框是否应为模态对话框。
void setModalityType(Dialog.ModalityType type) 设置此对话框的模式类型。
void setResizable(boolean resizable) 设置此对话框是否可由用户调整大小。
void setTitle(String title) 设置对话框的标题。
void setUndecorated(boolean undecorated) 禁用或启用此对话框的装饰。
void setVisible(boolean b) 根据参数 b 的值显示或隐藏此对话框。
void show() 已弃用。从 JDK 1.5 版开始,由 setVisible(boolean) 取代。
void toBack() 如果此 Window 可见,则将此 Window 发送到后面,如果它是聚焦或活动的 Window,则可能会导致它失去焦点或激活。

5 Java AWT Dialog的例子

让我们看一个简单的Java AWT Dialog类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AwtControlDemo {

   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;

   public AwtControlDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtControlDemo  awtControlDemo = new AwtControlDemo();
      awtControlDemo.showDialogDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("一点教程网:Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showDialogDemo(){
      headerLabel.setText("Control in action: Dialog"); 
      Button showAboutDialogButton = new Button("Show About Dialog");
      showAboutDialogButton.addActionListener(new ActionListener() {
	     @Override
         public void actionPerformed(ActionEvent e) {
            AboutDialog aboutDialog = new AboutDialog(mainFrame);
            aboutDialog.setVisible(true);
         }
      });

      controlPanel.add(showAboutDialogButton);
      mainFrame.setVisible(true);  
   }

   class AboutDialog extends Dialog {
      public AboutDialog(Frame parent){
         super(parent, true);         
         setBackground(Color.gray);
         setLayout(new BorderLayout());
         Panel panel = new Panel();
         panel.add(new Button("Close"));
         add("South", panel);
         setSize(200,200);

         addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent windowEvent){
               dispose();
            }
         });
      }

      public boolean action(Event evt, Object arg){
         if(arg.equals("Close")){
            dispose();
            return true;
         }
         return false;
      }

      public void paint(Graphics g){
         g.setColor(Color.white);
         g.drawString("TutorialsPoint.Com", 25,70 );
         g.drawString("Version 1.0", 60, 90);      
      }
   }
}

输出结果为:

热门文章

优秀文章