其他分享
首页 > 其他分享> > AWT05-对话框

AWT05-对话框

作者:互联网

1.Dialog

  Dialog组件是Window的子类,是容器类,是特殊组件。

  Dialog是可以独立存在的顶级窗口,使用上和普通窗口几乎没有区别,但应注意以下两点:

    1.对话框通常依赖于其他窗口,也就是说通常会有一个父窗口。

    2.对话框有非模式对话框(non-modal)和模式对话框(modal)两种。当某个模式对话框被打开后,该模式对话框总是位于其父窗口之上,在模式对话框被关闭前,其父窗口无法获得焦点。

方法名 说明
Dialog(Frame owner,String title,boolean modal)

创建一个对话框对象

owner:当前对话框的父窗口

title:当前对话框的标题

modal:当前对话框是否是模式对话框

 1 import javax.swing.*;
 2 import java.awt.*;
 3 import java.awt.event.ActionEvent;
 4 import java.awt.event.ActionListener;
 5 
 6 public class DialogDemo1 {
 7     Frame frame = new Frame("测试对话框");
 8 
 9     Dialog d1 = new Dialog(frame,"模式对话框",true);
10     Dialog d2 = new Dialog(frame,"非模式对话框",false);
11 
12 
13     Button modal = new Button("打开模式对话框");
14     Button nonmodal = new Button("打开非模式对话框");
15 
16     public void init(){
17         Box box = Box.createVerticalBox();
18         box.add(modal);
19         box.add(nonmodal);
20 
21         modal.addActionListener(new ActionListener() {
22             @Override
23             public void actionPerformed(ActionEvent e) {
24                 d1.setVisible(true);
25             }
26         });
27 
28         nonmodal.addActionListener(new ActionListener() {
29             @Override
30             public void actionPerformed(ActionEvent e) {
31                 d2.setVisible(true);
32             }
33         });
34 
35         frame.add(box);
36         frame.pack();
37         frame.setVisible(true);
38     }
39 
40     public static void main(String[] args) {
41         new DialogDemo1().init();
42     }
43 }

2.FileDialog

  FileDialog是Dialog的子类,代表文件对话框,用于打开或保存文件。需要注意的是,FileDialog不能指定模式和非模式,因为FileDialog完全依赖于平台实现,其对话框类型决定于平台的FileDialog是模式对话框或者非模式对话框。

方法名 说明
FileDialog(Frame parent,String title,int mode)

创建一个文件对话框

parent:父窗口

title:标题

mode:文件对话框类型,FileDialog.LOAD是打开文件,FileDialog.SAVE则是保存文件。

String getDirectory() 获取被打开或保存文件的绝对路径
String getFile() 获取被打开或保存文件的文件名
 1 import javax.swing.*;
 2 import java.awt.*;
 3 import java.awt.event.ActionEvent;
 4 import java.awt.event.ActionListener;
 5 
 6 public class FileDialogDemo {
 7     Frame frame = new Frame("测试FileDialog");
 8 
 9     Button openButton = new Button("open");
10     Button saveButton = new Button("save");
11 
12     FileDialog open = new FileDialog(frame,"打开文件",FileDialog.LOAD);
13     FileDialog save = new FileDialog(frame, "保存文件", FileDialog.SAVE);
14 
15     Box box = Box.createVerticalBox();
16     public void init(){
17         box.add(openButton);
18         box.add(saveButton);
19 
20         openButton.addActionListener(new ActionListener() {
21             @Override
22             public void actionPerformed(ActionEvent e) {
23                 open.setVisible(true);
24 
25                 String directory = open.getDirectory();
26                 String filename = open.getFile();
27 
28                 System.out.println("打开文件为:"+directory+filename);
29             }
30         });
31 
32         saveButton.addActionListener(new ActionListener() {
33             @Override
34             public void actionPerformed(ActionEvent e) {
35                 save.setVisible(true);
36 
37                 String directory = save.getDirectory();
38                 String filename = save.getFile();
39 
40                 System.out.println("文件为:"+directory+filename);
41             }
42         });
43 
44         frame.add(box);
45 
46         frame.pack();
47 
48         frame.setVisible(true);
49     }
50 
51     public static void main(String[] args) {
52         new FileDialogDemo().init();
53     }
54 }

 

标签:String,对话框,AWT05,frame,FileDialog,new,public
来源: https://www.cnblogs.com/zhiyDev/p/14100760.html