java 图像用户界面知识Word文件下载.docx
《java 图像用户界面知识Word文件下载.docx》由会员分享,可在线阅读,更多相关《java 图像用户界面知识Word文件下载.docx(22页珍藏版)》请在冰点文库上搜索。
//坐标位置,x、y指定组件左上角相对于容器的坐标位置
publicvoidsetBounds(intx,inty,intwidth,intheight)
//坐标位置和宽度、高度
publicColorgetBackground()//获得组件的背景颜色
publicvoidsetBackground(Colorc)//设置组件的背景颜色
publicFontgetFont()//获得组件字体
publicvoidsetFont(Fontf)//设置组件字体
publicvoidsetVisible(booleanb)//设置组件是否显示
}
2.容器
publicclassContainerextendsComponent
publicvoidsetLayout(LayoutManagermgr)//设置布局管理器
publicComponentadd(Componentcomp)//在容器中添加一个组件comp
3.窗口(window)和面板(panel)
●窗口
publicclassWindowextendsContainerimplementsAccessible
注意:
窗口是顶层容器,不能包含在其他容器中。
●面板
publicclassPanelextendsContainerimplementsAccessible
publicPanel()
publicPanel(LayoutManagerlayout)
注意:
面板必须包含在其他容器中,不能独立存在。
4.框架Frame和对话框Dialog
●框架
publicclassFrameextendsWindowimplementsMenuContainer
publicFrame()
publicFrame(Stringtitle)//参数title指定框架的标题
publicStringgetTitle()//获取框架的标题
publicvoidsetTitle(Stringtitle)//设置或修改框架的标题
publicvoidsetResizable(booleanresizable)//设置框架是否可变大小
Java应用程序使用Frame作为主窗口。
默认情况是最小化、不可见的,调用setVisible(true)方法使窗口可见。
对话框
publicclassDialogextendsWindow
publicDialog(Frameowner)//owner指明拥有对话框的框架
publicDialog(Frameowner,Stringtitle)//title是对话框的窗口标题
publicDialog(Frameowner,booleanmodal)//modal指明该对话框是否为模式窗口
publicDialog(Frameowner,Stringtitle,booleanmodal)
对话框不能作为主窗口,需依附于一个框架。
5.标签
publicclassLabelextendsComponentimplementsAccessible
publicstaticfinalintLEFT//左对齐,默认值
publicstaticfinalintCENTER//居中
publicstaticfinalintRIGHT//右对齐
publicLabel()
publicLabel(Stringtext)//text指定显示字符串
publicLabel(Stringtext,intalignment)//alignment指定对齐方式
publicStringgetText()//获得显示字符串
publicvoidsetText(Stringtext)//设定显示字符串
6.文本行
publicclassTextComponentextendsComponentimplementsAccessible
publicStringgetText()//获得文本行中的内容
publicvoidsetText(Stringt)//设置文本行中的内容
publicvoidsetEditable(booleanb)//设置文本行是否可编辑
publicclassTextFieldextendsTextComponent
publicTextField()
publicTextField(Stringtext)//text指定内容
publicTextField(intcolumns)//columns指定列数
publicTextField(Stringtext,intcolumns)
7.按钮
publicclassButtonextendsComponentimplementsAccessibl
publicButton(Stringtext)
//text指定按钮标题
【例1】用户登录窗口。
1、FlowLayout(流布局管理器)
publicclassFlowLayoutimplementsLayoutManager,java.io.Serializable
publicstaticfinalintLEFT=0;
//左对齐,类常量,全部大写
publicstaticfinalintCENTER=1;
//居中
publicstaticfinalintRIGHT=2;
//右对齐
publicFlowLayout()//构造方法,默认居中
publicFlowLayout(intalign)//align参数指定对齐方式
面板的默认布局管理器。
将组件按从左往右顺序、一行一行地排列。
2、BorderLayout(边布局管理器)
publicclassBorderLayoutimplementsLayoutManager2,java.io.Serializable
publicstaticfinalStringNORTH="
North"
;
publicstaticfinalStringSOUTH="
South"
publicstaticfinalStringEAST="
East"
publicstaticfinalStringWEST="
West"
publicstaticfinalStringCENTER="
Center"
//注意,字符串首字母大写
publicBorderLayout()//构造方法
窗口的默认布局管理器。
将容器划分为5个区域,东、南、西、北、中。
当将多个组件放在同一区域时,需先设置框架布局,如采用流布局
3、GridLayout(网格布局管理器)
publicclassGridLayoutimplementsLayoutManager,java.io.Serializable
publicGridLayout()//构造方法
publicGridLayout(introws,intcols)//参数指定行、列
●1、颜色
publicclassColorimplementsPaint,java.io.Serializable
publicColor(intr,intg,intb)//以三元色值构造对象
publicColor(intrgb)//以RGB值构造对象
publicintgetRed()//返回红色值
publicintgetGreen()//返回绿色值
publicintgetBlue()//返回蓝色值
publicintgetRGB()//返回颜色的RGB值
publicColorbrighter()//使颜色变浅
publicColordarker()//使颜色变深
2、字体
publicclassFontimplementsjava.io.Serializable
publicstaticfinalintPLAIN=0;
//常规
publicstaticfinalintBOLD=1;
//粗体
publicstaticfinalintITALIC=2;
//斜体
publicFont(Stringname,intstyle,intsize)//字体名、字形、字号
publicStringgetName()//返回字体名称
publicintgetSize()//返回字体大小
publicintgetStyle()//返回粗、斜体值
容器组件的创建
1、在init()或Frame的构造函数中内,首先创建出容器组件对象并实例化它,然后设置布局方式。
2、分别创建出在容器内待包含的各个基本组件并实例化它们。
3、调用容器的add()函数将各个基本组件加入到容器内。
4、再调用add()将各个子容器加入到Applet中或Frame的主窗框中;
然后注册各个基本组件和容器的事件监听器对象。
5、对Frame容器则需要调用setVisible(true)调显示出其内的各个组件,而对Dialog容器则需要调用show()显示出其内的各个组件。
6.2事件处理
●6.2.1委托事件模型
●6.2.2AWT事件类和事件监听器接口
6.2.1委托事件模型
1.事件和事件源
事件(event)是指一个状态的改变,或者一个活动的发生。
产生事件的组件称为事件源(eventsource)。
2.事件类和事件监听器接口
publicinterfaceActionListenerextendsEventListener//单击事件监听器接口
publicvoidactionPerformed(ActionEvente);
//单击事件处理方法
事件处理(Eventhandler):
接收事件对象消息并对其进行处理的方法。
3.组件注册事件监听器对象
publicclassButtonextendsComponentimplementsAccessible
publicvoidaddActionListener(ActionListenerl)
//注册单击事件监听器
publicvoidremoveActionListener(ActionListenerl)//取消注册单击事件监听器
button.addActionListener(this);
【例2】Unicode字符查询器。
◆按钮单击事件的响应和处理
◆关闭窗口事件的响应和处理(窗口事件类WindowEvent)
4.图形用户界面的运行由事件驱动
◆不同组件的事件或同一组件的不同事件具有约定的执行次序。
◆各组件的事件处理方法是否执行以及执行次序,取决于用户操作。
◆在一个事件处理方法中,程序按照语句的书写次序顺序执行。
6.2.2AWT事件类和事件监听器接口
1.AWT事件类
AWT事件类
publicclassEventObjectimplementsjava.io.Serializable
publicObjectgetSource()//返回产生事件的事件源组件
publicStringtoString()//返回事件对象信息
publicclassActionEventextendsAWTEvent
publicStringgetActionCommand()//获得按钮的标签
2.AWT事件监听器接口
publicinterfaceComponentListenerextendsEventListener
publicvoidcomponentResized(ComponentEvente);
//改变组件大小
publicvoidcomponentMoved(ComponentEvente);
//移动组件
publicvoidcomponentShown(ComponentEvente);
//显示组件
publicvoidcomponentHidden(ComponentEvente);
//隐藏组件
事件监听器接口的意义
3.事件适配器类
publicabstractclassWindowAdapter
implementsWindowListener,WindowStateListener,WindowFocusListener
publicvoidwindowOpened(WindowEvente){}
publicvoidwindowClosing(WindowEvente){}
publicvoidwindowClosed(WindowEvente){}
publicvoidwindowIconified(WindowEvente){}
publicvoidwindowDeiconified(WindowEvente){}
publicvoidwindowActivated(WindowEvente){}
publicvoidwindowDeactivated(WindowEvente){}
publicvoidwindowStateChanged(WindowEvente){}
publicvoidwindowGainedFocus(WindowEvente){}
publicvoidwindowLostFocus(WindowEvente){}
4.AWT组件类中注册事件监听器的方法
publicvoidaddKeyListener(KeyListenerl)//注册键盘事件监听器
publicvoidremoveKeyListener(KeyListenerl)
publicvoidaddMouseListener(MouseListenerl)//鼠标事件监听器
publicvoidremoveMouseListener(MouseListenerl)
publicvoidaddMouseMotionListener(MouseMotionListenerl)//注册鼠标移动事件监听器
publicvoidremoveMouseMotionListener(MouseMotionListenerl)
}
事件编程的一般步骤
①实现某一事件的监听器接口(定义事件处理的类并实现事件的监听器接口)。
publicclassMyAppletextendsAppletimplementsActionListener
{publicvoidactionPerFormed(ActionEventevent)
{
}
②在事件处理类中重写(实现)其事件处理的函数体。
③在创建AWT组件时注册事件处理代码以指定该事件的监听器(响应者)是谁。
6.3Swing组件
6.3.1Swing组件关系概述
6.3.2窗口组件
6.3.3文本显示和编辑组件
6.3.4按钮组件
6.3.5列表框和组合框组件
6.3.6JOptionPane和JColorChooser对话框
6.3.7菜单组件
6.3.8表格
●内容窗格
publicContainergetContentPane()
●窗口关闭方式
publicvoidsetDefaultCloseOperation(intoperation)
publicinterfaceWindowConstants
publicstaticfinalintDO_NOTHING_ON_CLOSE=0;
//什么也不做
publicstaticfinalintHIDE_ON_CLOSE=1;
//隐藏窗口
publicstaticfinalintDISPOSE_ON_CLOSE=2;
publicstaticfinalintEXIT_ON_CLOSE=3;
//结束程序运行
jframe.setDefaultCloseOperation(EXIT_ON_CLOSE);
jdialog.setDefaultCloseOperation(HIDE_ON_CLOSE);
//隐藏对话框
publicabstractclassJTextComponentextendsJComponentimplementsScrollable,Accessible
publicbooleanisEditable()//判断文本行是否可编辑
●文本行JTextField
●文本区JTextArea
publicclassJTextAreaextendsJTextComponent
publicJTextArea()
publicJTextArea(Stringtext)//text指定初始显示文本
publicJTextArea(introws,intcolumns)//指定行数和列数
publicJTextArea(Stringtext,introws,intcolumns)
3.Swing文本编辑事件
●文本编辑事件类javax.swing.event.CaretEvent
publicvoidaddCaretListener(CaretListenerl)
publicinterfaceCaretListenerextendsEventListener//文本编辑事件监听器接口
publicvoidcaretUpdate(CaretEvente);
●单击事件类ActionEvent
【例3】金额的中文大写形式。
4.JSpinner组件及事件
publicclassJSpinnerextendsJComponentimplementsAccessible
publicJSpinner()
publicObjectgetValue()//获得值
publicvoidsetValue(Objectvalue)//设置值
publicvoidaddChangeListener(ChangeListenerl)
publicvoidremoveChangeListener(ChangeListenerl)
publicinterfaceChangeListenerextendsEventListener
publicvoidstateChanged(ChangeEvente);
●复选框
publicclassJCheckBoxextendsJToggleButtonimplementsAccessible
publicJCheckBox()
publicJCheckBox(Stringtext)
publicJCheckBox(Stringtext,booleanselected)
2.单选按钮
pu