实验六 图形用户界面设计
【目的】
1. 掌握swing常用组件的使用方法 2. 熟悉Java GUI布局 3. 掌握Java事件设计 4. 了解MVC模式编程 【内容】
简单计算器设计
使用swing设计如右图所示的计算器,要求在点击各个按钮输入一个合法的算术表达式后,点击“=”按钮计算结果并显示。
(要求:不对表达式的有效性进行判别;表达式中不考虑运算符的优先顺序,一次计算)
提示:
1) 可以使用Border布局,将文本框放入北NORTH;所有按钮使用Grid布局,并放入中CENTER(Border+Grid)【或者采用Box布局+Grid布局】
2) 除“=”以外的按钮使用相同的事件监听器,每次单击某个按钮,则在文本框内容的后面添加相应内容;
3) “=”按钮采用单独的事件监听器,功能是将文本框的内容进行分解,分离出各个数(字符串数组)和各个操作符(字符数组),再进行计算。
4) 事件监听器可以采用内部匿名类实现。
5) 模型(model)中的主要功能代码参考如下:
public double getResult() {
String[] strnum = expression.split(\);//数值字符串数组 expression = expression.replaceAll(\,\);//去掉数字字符 char[] arropt = expression.toCharArray();//操作符字符数组 double res=Integer.parseInt(strnum[0]); try{
for(int i=0;i
switch(arropt[i]){
case '+':
res=res+Integer.parseInt(strnum[i+1]);
}
}
break;
res=res-Integer.parseInt(strnum[i+1]); break;
res=res*Integer.parseInt(strnum[i+1]); break;
res=res/Integer.parseInt(strnum[i+1]); break;
case '-':
case '*':
case '/':
}catch(Exception ee){} return res ; }
作业完成后,将Test6压缩包后上交到
ftp://192.168.9.211/2014???§éú×÷òμ/Java1°à/ 下自己的文件夹中。