版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5部分图形界面设计11按钮、标签和文本输入类常用Swing组件的继承关系图21按钮、标签和文本输入类Swing组件的按钮用JButton类表示,JButton常用的构造方法有:
JButton()
JButton(Iconicon)
JButton(Stringtext)
JButton(Stringtext,Iconicon)ImageIcon对象可以根据图象的文件名创建,例如:
Iconicon=newImageIcon(“photo.jpg”);31按钮、标签和文本输入类JButton常用的成员方法有:IcongetIcon()//获取按钮上的图标StringgetText()//获取按钮上的文本voidsetIcon(Iconicon)//设置按钮上的图标voidsetText(Stringtext)//设置按钮上的文本voidsetHorizontalAlignment(intalignment)//设置按钮上图标和文本的水平对齐方式voidsetVerticalAlignment(intalignment)//设置按钮上图标和文本的垂直对齐方式JButton能产生许多类型的事件,但最常用的是点击按钮产生的ActionEvent事件对象。ActionEvent有如下两个常用方法:
ObjectgetSource()//获取事件源对象名称
StringgetActionCommand()//获取事件源对象上的文本41按钮、标签和文本输入类Swing中的标签用Jlabel类表示,标签上可以显示图标和文本。JLabel常用构造方法有:
JLabel()JLabel(Iconimage)
JLabel(Stringtext)JLabel(Stringtext,Iconimage,int
horizontalAlignment)JLabel常用的成员方法有:IcongetIcon()//获取标签上的图标StringgetText()//获取标签上的文本voidsetIcon(Iconicon)//设置标签上的图标voidsetText(Stringtext)//设置标签上的文本voidsetForeground(Colorcolor)//设置标签上的文本字体颜色voidsetFont(Fontfont)//设置标签文字的字体51按钮、标签和文本输入类例10-1在框架窗口中放置按钮和带图标的标签,点击按钮,改变标签上的图标和文本。61按钮、标签和文本输入类Swing的文本输入类包括文本框JTextField、文本区JTextArea和密码框JPasswordField。这三个类的很多方法是从JTextComponent继承的,其中常用方法有:
voidsetEditable(booleanb)//设置可否编辑文本
voidsetText(Stringtext)//设置文本
StringgetText()//获取文本JTextField常用的构造方法有:
JTextField()
JTextField(intcolumns)//columns指定文本框的宽度是多少个字符
JTextField(Stringtext)//text是初始文本71按钮、标签和文本输入类JPasswordField常用的构造方法有:JPasswordField()JPasswordField(intcolumns)//int参数指定宽度是多少个字符JPasswordField(Stringtext)//text是初始文本JPasswordField有两个常用的方法:voidsetEchoChar(charc)//设置密码框的回显字符char[]getPassword()//返回密码框中的字符81按钮、标签和文本输入类在文本框和密码框中输入回车将产生ActionEvent
例10-2框架窗口中放置密码框和文本框,密码框中输入文字后回车,要求文本框中显示密码框中输入的内容例10-3综合应用标签、文本框和按钮实现+、-、*、/四则运算,用四个按钮分别表示+、-、*、/运算,在两个文本框中输入数据,点击按钮后,在第三个文本框中显示运算结果。92布局管理器FlowLayout、BorderLayout、GridLayout和CardLayout的用法,这四个类都实现了接口LayoutManager,因此,LayoutManager的引用变量可以引用这些布局类的对象
JFrame的默认布局是BorderLayout,JPanel的默认布局是FlowLayout。除了使用默认布局外,容器还可以调用下列方法设置布局:
voidsetLayout(LayoutManagerm)102布局管理器如果JPanel面板不按默认的FlowLayout布局,而是改用BorderLayout,可以使用如下语句设置:
JPanel
jp=newJPanel();
BorderLayout
bm=newBorderLayout();
jp.setLayout(bm);上述语句也可以简写成:
JPanel
jp=newJPanel();
jp.setLayout(new
BorderLayout());112布局管理器FlowLayout是最简单的布局管理器,它按照添加的顺序,把组件从左到右排列在容器中,放满一行后开始新的一行。FlowLayout的构造方法有:
FlowLayout()//组件的对齐方式取默认值,居中对齐、间距取5个单位
FlowLayout(intalign)
FlowLayout(intalign,int
hgap,int
vgap)
例10-4按照FlowLayout布局方式,把三个按钮加载到框架窗口中。122布局管理器BorderLayout布局管理器将容器划分成东、西、南、北、中五个区,在容器中加载组件时必须指定加载到哪个区。其构造方法有:
BorderLayout()//组件之间水平和垂直方向的间隙取默认值0
BorderLayout(int
hgap,int
vgap)其中,hgap和vgap指定组件之间的水平和垂直方向的间隙。使用BorderLayout布局的容器,增加组件的方法有:
add(Componentcom,intindex)
add(Component
comx)例10-5按照BorderLayout布局方式,在JPanel的五个区中各加载一个按钮132布局管理器GridLayout把容器划分成若干行和列大小相等的网格单元,组件就放置在网格中。GridLayout的构造方法有:
GridLayout()//行数为1,即每个组件占一列
GridLayout(introws,intcols)//rows指定行数,cols指定列数
GridLayout(introws,intcols,int
hgap,int
vgap)//hgap、vgap为组件的水平、垂直方向间距例10-6编写一个包含数字按钮和四则运算符号按钮的计算器GUI界面143选择组件复选框JCheckBox常用构造方法有:
JCheckBox()
JCheckBox(Iconimage)//image是图标
JCheckBox(Stringtext)//text是文本
JCheckBox(Stringtext,booleanselected)
JCheckBox(Stringtext,Iconimage,booleanselected)其中的boolean参数指定复选框的初始状态是选中还是未选中,默认取未选中状态
JCheckBox常用的成员方法有:
voidsetSelected(booleanselected)//设置是否选中
boolean
isSelected()//返回复选框当前状态
153选择组件复选框被点击后其状态在选中和未选中之间改变,并产生两种事件对象,先触发ItemEvent事件,然后触发ActionEvent事件。ItemEvent的监听接口是ItemListener,这个接口中只有一个响应ItemEvent事件的方法:
publicvoiditemStateChanged(ItemEvente)ItemEvent的下列方法可以返回产生该事件的事件源对象名称:
ObjectgetSource()例10-7JFrame中放置一个标签和控制标签字体的3个复选框,通过这三个复选框控制标签文本的字体
163选择组件单选按钮JRadioButton常用的构造方法有:
JRadioButton()
JRadioButton(Iconimage)//image是单选按钮的图标
JRadioButton(Stringtext)//text是单选按钮的文本
JRadioButton(Stringtext,booleanselected)
JRadioButton(Stringtext,Iconimage,booleanselected)其中的boolean参数指定单选按钮的初始状态是选中还是未选中,默认是未选中状态JRadioButton常用的成员方法有:
voidsetSelected(booleanselected)//设置是否选中
boolean
isSelected()//返回单选按钮当前状态173选择组件与JRadioButton紧密相关的一个类是按钮组ButtonGroup同一个ButtonGroup中只能有一个单选按钮处于选中状态。如果一个窗口中有几组单选按钮,每组必须新建一个ButtonGroup对象,并将该组所有单选按钮加入这个按钮组,才能确保各组的选择互不干扰
JRadioButtonjb1,jb1;jb1=newJRadioButton(“男”);jb2=newJRadioButton(“女”);
ButtonGroup
bg=newButtonGroup();bg.add(jb1);//把单选按钮加入按钮组
bg.add(jb2);//jb1和jb2在同一个按钮组中,只能有一个处于选中状态。ButtonGroup不是组件,不能加入容器中。
183选择组件单选按钮被点击时其状态发生改变,先触发ItemEvent事件,然后触发ActionEvent事件例10-8用单选按钮控制标签的字体大小和颜色193选择组件组合框JComboBox常用的构造方法和成员方法有:
JComboBox()//创建一个空组合框
JComboBox(Object[]items)//创建一个包含指定数组元素的组合框
voidaddItem(Objectitem)//添加项目到组合框
ObjectgetItemAt(intindex)//返回指定序号的项目
int
getSeletedIndex()//返回选中的项目序号
ObjectgetSeletedItem()//返回选中的项目例10-9用组合框控制框架窗口背景色203选择组件滑块JSlider允许用户从图形显示的数值区间中选择一个值。为了更精确地取值,JSlider还可以设置标尺。JSlider常用的构造方法和成员方法有JSlider()//创建0~100区间、初始值为50的滑块JSlider(intmin,intmax,intvalue)//创建min~max区间、初始值为value的滑块voidsetMajorTickSpacing(intn)//设置大标尺voidsetMinorTickSpacing(intn)//设置小标尺voidsetPaintTicks(booleanvisible)//设置标尺是否显示int
getMaximun()//返回滑块表示的最大值int
getMinimun()//返回滑块表示的最小值int
getValue()//返回滑块表示的当前值voidaddChangeListener(ChangeListenerl)//注册ChangeEvent事件监听对象213选择组件移动滑块时,产生ChangeEvent事件,这个事件的监听接口是ChangeListener,其中只有一个方法:
publicvoidstateChanged(ChangeEvente)因此,响应滑块事件必须覆盖这个方法。JSlider是Swing特有的组件,AWT中没有滑块,JSlider、ChangeEvent、ChangeListener都是Swing中的类。ChangeEvent下列方法可以返回产生这个事件的事件源对象名称:
ObjectgetSource()223选择组件例10-10框架窗口中有一个滑块和一个标签,移动滑块时标签中显示滑块的当前值234菜单Swing中的菜单界面要使用3个类,菜单栏JMenuBar、菜单JMenu、菜单项JmenuItem
菜单栏在窗口的顶部,菜单则放置在菜单栏中,菜单下拉后可以看到其中的菜单项和子菜单框架JFrame的下列方法设置菜单栏:
voidsetMenuBar(JMenuBar
mb)例如:
JFramef=newJFrame();
JMenuBar
mb=newJMenuBar();
f.setMenuBar(mb);244菜单JMenu常用的构造方法和成员方法有:
JMenu(Strings)//s是菜单标签
JMenuItem
add(JMenuItemitem)//将菜单项加入菜单末尾JMenuItem
add(Stringlabel)//label是要添加的菜单标签
voidaddSeperator()//向菜单添加一个分隔符
voidremove(intindex)//删除指定菜单项
voidremove(JMenuItemitem)//删除指定菜单项
JMenuItem
add(JMenuItemitem,intindex)//向指定位置插入一个菜单项例如:JMenu
jm=newJMenu(“文件”);JMenuItemmi1=newJMenuItem(“打开”);//创建菜单项jm.add(mi1);JMenuItemmi2=jm.add(“保存”);jm.remove(mi2);254菜单JMenuItem常用的构造方法和成员方法有:
JMenuItem(Stringtext)
JMenuItem(Stringtext,Iconicon)//创建带图标和文本的菜单
addActionListener(ActionListenerl)//注册监听对象选中菜单项将产生ActionEvent事件,响应程序必须实现ActionListenet接口,覆盖actionPerformed()方法。例10-11编写一个计算两个数的四则运算的GUI程序,操作符用菜单项表示,输入值和运算结果用文本框表示265工具栏Swing使用JToolBar作为存放工具栏组件的容器,工具栏中的组件通常是图标形式显示的按钮,组合框也是工具栏中的常用组件。JToolBar常用的构造方法和成员方法有:
JToolBar()
JToolBar(Stringtitle)//工具栏处于浮动状态时窗口的标题
JToolBar(intorientation)//指定工具拦水平或垂直方向放置
add(Componentcomp)//增加组件到工具栏
addSeparator()//在工具栏末尾添加一个分隔符orientation有两个取值:SwingConstants.HORIZONTAL
和SwingConstants.VERTICAL,默认取第一个值。275工具栏工具栏上的组件调用下列方法可以为该命令设置提示信息:
setToolTipText(Stringtext)例10-12工具栏中存放四个带图标按钮代表四种软件产品,光标停留在按钮上,显示这个按纽表示何种软件,点击按钮,由标签文本解释这种软件的作用286对话框Java提供了创建标准对话框的类JOptionPane,使用这个类可以创建四种标准对话框:·消息对话框,显示消息等待用户点击OK按钮。·确认对话框,显示问题等待用户确认,即点击OK或Cancel等按钮。·输入对话框,等待并获取用户从文本框等组件中输入的信息。·选择对话框,等待并获取用户从一组选项中选择信息。296对话框JOptionPane的下列重载的方法创建并显示一个消息对话框:
publicstaticvoidshowMessageDialog(Component
parentComp,Objectmessage)publicstaticvoidshowMessageDialog(Component
parentComp,Objectmessage,Stringtitle,int
messageType)publicstaticvoidsh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理感染控制与公共卫生竞赛
- 2.6.6.3精神科危重患者护理常规学习培训课件
- 大丰市小海中学高二生物三同步课程讲义第讲免疫调节(四)
- 2025年办公设备维修服务协议
- 《液体剂型保健用品生产技术规范》标准 征求意见稿
- 基于大数据的电子支付异常监测系统
- 2025年养宠训练新工具 正向激励AI助手评测
- 城市交通智能调控-第2篇
- 基于AI的注入攻击检测
- 2026 年中职掘进技术(隧道施工基础)试题及答案
- 光伏电站试运行期间运行报告1
- 译林版三年级英语下册Unit5《How old are you?》单元检测卷(含答案)
- XF-T 3004-2020 汽车加油加气站消防安全管理
- 行为金融学课件
- 中考数学讲座中考数学解答技巧基础复习课件
- 短视频的拍摄与剪辑
- 单轴仿形铣床设计
- 全口义齿人工牙的选择与排列 28-全口义齿人工牙的选择与排列(本科终稿)
- 低压电缆敷设方案设计
- 原发性肝癌病人的护理原发性肝癌病人的护理
- 新能源有限公司光伏电站现场应急处置方案汇编
评论
0/150
提交评论