目录
一、基本组件介绍
二、Diaolg对话框
(1)Dialog
(2) FileDialog
一、基本组件介绍
Button 按钮
Canvas 用于绘图的画布
Checkbox 复选框组件
CheckboxGroup 用于将多个Checkbox组件合成一组,一组Checkbox组件只有一个可 以被选中,即全部变成单选框组件
Choice 下拉选择框
Frame 窗口,在GUI程序里通过该类创建窗口
Label 标签类,用于放置提示性文本
List 列表框组件,可以添加多条项目
Panel 不能单独存在的基本容器类,必须放到其他容器中
Scrollbar 滑动条组件,如果需要用户输入位于某个范围的值,就可以使用滑动条 组件,比如调色板中设置RGB得三个值所用的滑动条。当创建一个滑动 条时,必须指定它的方向,初始值,滑块的大小,最小值和最大值
ScrollPane 带水平及垂直滚动条的容器组件
TextArea 多行文本域
TextField 单行文本框
案列如图:
class Solution { //制造组件 Frame s=new Frame("tittle"); Box di=Box.createHorizontalBox(); Box leftdi=Box.createHorizontalBox(); Choice cho=new Choice(); CheckboxGroup gr=new CheckboxGroup(); Checkbox c1=new Checkbox("男",gr,true); Checkbox c2=new Checkbox("女",gr,false); Checkbox c3=new Checkbox("是否已婚?"); Box lefttop=Box.createVerticalBox(); Box top=Box.createHorizontalBox(); public void init(){ //先组装最底下的 di.add(new TextField(30)); di.add(new Button("确认")); s.add(di,BorderLayout.SOUTH); cho.add("红色"); cho.add("蓝色"); cho.add("白色"); leftdi.add(cho); leftdi.add(c1); leftdi.add(c2); leftdi.add(c3); lefttop.add(new TextArea("你好",6,20,TextArea.SCROLLBARS_VERTICAL_ONLY)); lefttop.add(leftdi); top.add(lefttop); top.add(new TextArea("hello",10,20,TextArea.SCROLLBARS_VERTICAL_ONLY)); s.add(top); s.pack(); s.setVisible(true); } } public class Test { public static void main(String[] args){ Solution ss=new Solution(); ss.init(); } }
二、Diaolg对话框
(1)Dialog
Dialog是Window类的子类,是一个容器类,属于特殊组件。对话框是可以独立存在的顶级窗口,因此用法与普通窗口的用法几乎一样,但是对话框需要注意以下两点:
(1)对话框通常依赖于其他窗口,就是通常需要有一个父窗口
(2)0对话框有非模式和模式两种,当某个模式对话框被打开后,该模式对话框总是位于它的父窗口之上,在模式对话框被关闭之前,父窗口无法获得焦点。
构造方法
Dialog(Frame owener,String title boolean modal) 创建一个对话框对象,owner是当前对话框的父窗口,title是对话框的标题,modal是当前对话框是否是模式对话框
public static void main(String[] arsg){ Frame s=new Frame("title"); //创建水平 Dialog d1=new Dialog(s,"模式对话框",true); Dialog d2=new Dialog(s,"非模式对话框",false); Button b1=new Button("模式对话框"); Button b2=new Button("非模式对话框"); b1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { d1.setVisible(true); } }); b2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { d2.setVisible(true); } }); s.add(b1,BorderLayout.NORTH); s.add(b2); s.pack(); s.setVisible(true); }
(2) FileDialog
Dialog类还有一个子类:FielDialog,他代表一个文件对话框,用于打开或者保存文件,需要注意的是FileDialog无法指定模态或者非模态,这是因为FileDialog依赖于运行平台的实现,如果运行平台的的文件对话框是模态的,那么FileDialog也是模态的,否则就是非模态的。
方法:
FileDialog(Frame parent,String title,int mode) 创建一个文本对话框
parent指定父窗口
title:对话框标题
mode:文件对话框类型,如果指定为 FileDialog.LOAD,用于打开文件,如果指为 FileDialog.SAVE用于保存文件
String getDirectory() 获取被打开或保存文件的绝对路径
String getFile() 获取被打开或保存文件的文件名
案例如图:
public static void main(String[] args) { Frame s=new Frame("title"); Button b2=new Button("保存文件"); Button b1=new Button("打开文件"); FileDialog f1=new FileDialog(s,"打开文件",FileDialog.LOAD); FileDialog f2=new FileDialog(s,"保存文件",FileDialog.SAVE); b1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { f1.setVisible(true); System.out.println("打开的文件路径是"+f1.getDirectory()+",文件名="+f1.getFile()); } }); b2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { f2.setVisible(true); System.out.println("保存的文件路径="+f2.getDirectory()+",文件名="+f2.getFile()); } }); s.add(b1); s.add(b2,BorderLayout.SOUTH); s.pack(); s.setVisible(true); }