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