- Java语言GUI程序设计
- 赵满来
- 1988字
- 2025-02-28 01:27:57
3.5 组合框的使用及四则运算计算程序设计
本节首先介绍组合框组件的基本知识,然后使用组合框将2.1节所设计的简单加法计算程序扩展为一个四则运算计算器,并通过该程序的设计展示if语句的应用。
3.5.1 组合框
组合框由一个提供选择项的选项列表、一个向下拉开列表的下三角按钮和一个帮助查找选择项的文本框组合而成。如果界面中有较多的选择项提供给用户选择,且需要节省屏幕空间,也许还希望节省用户查找选项的时间,那么组合框JComboBox是合适的组件。
在“组件面板”中单击“Swing控件”组中的“组合框”组件,然后在“设计”视图中的容器上单击,即可创建一个组合框组件。
组合框组件比前面介绍过的组件都要复杂,具有较多的属性,以下介绍几个重要属性。
1. model
该属性设置组合框中的列表项数据。在创建了组合框组件后,GUI构建器自动生成了4个列表项。对于少量字符串类型的列表项,单击属性窗口中该属性行右侧的文本框,直接输入各列表项的字符串,中间用英文逗号分隔即可。更好用的方法是,单击该属性行右侧的…按钮,在组件的model对话框中使用默认的“组合框模型编辑器”,在中间部位的输入框中逐项输入各列表项即可,每项一行。也可以使用“组合框模型编辑器”删除和修改已有的列表项。
如果列表项较多或者需要使用更灵活的设置方法,则需要使用组合框的数据模型对象设置。此部分内容后面章节再述。
2. editable
该属性指定可否在组合框的文本域中输入。单击该属性行右侧的复选框,设置为选取(true)状态时用户可以在文本域中输入。否则用户不能输入,且文本域以灰色显示。
3. selectedIndex
该属性记录被选中列表项的索引。是只读属性,不可在属性窗口直接修改,但可以通过定制代码设置。
4. maximumCount
该属性设置当用户单击组合框右端下三角按钮时,在下拉列表框中可以显示的最多列表项个数,其余列表项可以通过下拉列表框的滚动条找到。设置方法是在该属性行的值列直接输入整数。
5. toolTipText
该属性设置组件的即时提示信息。当用户鼠标指针移动到组件上时稍微停留,则会出现一个黄色提示框显示该属性所设置的提示文字。设置方法是在该属性行的值列直接输入字符串。
此外,组合框组件也具有设置前景颜色、背景颜色、字体等属性,设置方法与第2章所述相同。
3.5.2 四则运算计算程序设计
在2.1节设计了一个简单加法计算程序,使用组合框可以将它扩展为一个更为实用的四则运算计算器。
例3.4 设计一个表达式风格的四则运算计算器程序。
解:按照以下步骤操作。
(1)在chap03项目的book.ifdemos包名上右击,在快捷菜单中单击“新建”|“JFrame窗体”菜单项,类名输入ArithmeticClac,单击“完成”按钮。按住鼠标左键拖动窗体的右边框,当黄色提示框显示630时松开鼠标左键。
(2)在“组件面板”中单击“Swing控件”组的“文本字段”组件图标,光标移到窗体的中间靠左边框位置单击。修改该组件的变量名为jTextFieldNum1,columns属性值为12,text属性值为空,单击horizontalAlignment属性值列并选择TRAILING。
(3)在“组件面板”中单击“Swing控件”组的图标,光标移到窗体中靠近jTextFieldNum1组件,当帮助栏出现“已移至距左侧组件的中间位置,基线与另一个组件对齐”提示时单击。修改该组件的变量名为jComboBoxOpr,在toolTipText属性值列输入“单击右端下三角按钮选择具体运算类型”。
(4)在属性面板中单击model属性行右端的…按钮,在model对话框中将列表项“Item 1”修改为“+”“Item 2”修改为“-”“Item 3”修改为“*”“Item 4”修改为“/”,单击“确定”按钮。
(5)在窗体中右击jTextFieldNum1组件,在快捷菜单中选择第一个“复制”菜单项。在窗体中再次右击,在快捷菜单中选择“粘贴”菜单项。鼠标拖动粘贴产生的文本字段组件,移动到组合框组件jComboBoxOpr的右侧水平位置。修改该组件的变量名为jTextFieldNum2。
(6)在“组件面板”中单击“Swing控件”组的按钮图标,光标移到窗体中靠近jTextFieldNum2组件,当帮助栏出现“已移至距左侧组件的中间位置,基线与另一个组件对齐”提示时单击。修改该组件的变量名为jButtonEq,修改text属性值为“=”,在toolTipText属性值列输入“单击该按钮执行计算”。
(7)重复步骤(5),在jButtonEq组件右边创建一个文本字段组件,修改其变量名为jTextFieldResult,修改columns属性值为16,清除editable属性值复选框的勾选。
(8)在靠近窗体底边框且靠近水平中线位置创建一个按钮组件,变量名修改为jButtonClear,text属性值修改为“清除”。
(9)在jButtonClear组件的右边适当位置创建一个按钮组件,变量名修改为jButtonExit,text属性值修改为“退出”。
完成上述操作步骤后,得到如图3.11所示的界面。

图3.11 简单四则运算计算器程序的设计视图及运行界面
(10)在设计视图中单击“=”按钮,接着在属性窗口中单击“事件”标签,然后单击actionPerformed行右端的…按钮。在对话框中单击“添加”按钮,新建处理程序的名称输入“calcOpr”,单击“确定”按钮,再次单击“确定”按钮。
(11)在calcOpr方法体中输入以下程序代码。

(12)使用与步骤(10)相同的操作,为“清除”按钮添加actionPerformed事件处理方法clearAll,并在该方法体中输入以下程序代码。
jTextFieldNum1.setText(""); jTextFieldNum2.setText(""); jTextFieldResult.setText("");
(13)使用与步骤(10)相同的操作,为“退出”按钮添加actionPerformed事件处理方法calcExit,并在该方法体中输入以下程序代码。
System.exit(0);
完成上述步骤后,程序能够按照题意运行。