在做完xp画板后对计算器进行了一次优化改进
图片:
首先是优化了界面的样式和代码,界面采用了默认的边框布局
private void showUI() {
// TODO Auto-generated method stub
JFrame jf = new JFrame();
jf.setTitle("计算器");
jf.setSize(new Dimension(220, 350));
jf.setDefaultCloseOperation(3);
jf.setLocationRelativeTo(null);
jf.setResizable(false);
createBackground(jf);
createMenuPane(jf);
createShowPane(jf);
createFuctionPane(jf);
jf.setVisible(true);
}
在设计界面上加入了菜单栏,以及增加了一些功能按钮
private void createMenuPane(JFrame jf) {
// TODO Auto-generated method stub
JMenuBar jm = new JMenuBar();
String [] array = {"查看","编辑","帮助"};
String [][] arrayItem = {{"标准型","科学型","程序员"},{"复制","粘贴"},
{"查看帮助","开发者"}};
MenuListener ml = new MenuListener();
//利用数组进行循环,创建JMenu对象
for(int i=0;i<array.length;i++){
JMenu menu = new JMenu(array[i]);
for(int j=0;j<arrayItem[i].length;j++){
JMenuItem jbm = new JMenuItem(arrayItem[i][j]);
menu.add(jbm);
jbm.addActionListener(ml);
}
jm.add(menu);
}
jf.add(jm,BorderLayout.NORTH);
}
这是菜单栏的代码,虽然对于查看和编辑栏的功能还没有实现
private void createShowPane(JFrame jf) {
// TODO Auto-generated method stub
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
text1.setPreferredSize(new Dimension(200, 50));
text1.setEditable(false);
text1.setText("0");
text1.setHorizontalAlignment(JTextField.RIGHT);
Font font1 = new Font("宋体", Font.BOLD, 20);
text1.setFont(font1);
panel.add(text1);
panel.setOpaque(false);
jf.add(panel, BorderLayout.CENTER);
}
文本显示框的代码
private void createFuctionPane(JFrame jf) {
// TODO Auto-generated method stub
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(220,220));
panel.setLayout(new BorderLayout());
JPanel NumP = new JPanel();
NumP.setLayout(new FlowLayout(FlowLayout.LEFT,7,7));
// 定义一个字符串数组
String[] s1 = { "mc", "mr", "ms", "m+","back", "ce", "c",
"zhengfu", "7", "8", "9", "chu", "4", "5",
"6", "cheng", "1", "2", "3", "jian", "0", "dian", "jia" };
//循环数组
for(int i=0;i<s1.length;i++){
//实例化ImageIcon的对象
ImageIcon image = new ImageIcon(this.getClass().getResource(s1[i]+".png"));
//System.out.println(image);
JButton jbu = new JButton(image);
jbu.setActionCommand(s1[i]);
if(s1[i].equals("0")){
jbu.setPreferredSize(new Dimension(73,27));
}else{
jbu.setPreferredSize(new Dimension(34,27));
}
//给事件源jbu添加一个动作监听器方法,绑定事件处理类的对象cl
jbu.addActionListener(cl);
NumP.add(jbu);
}
panel.add(NumP,BorderLayout.CENTER);
JPanel FucP = new JPanel();
FucP.setLayout(new FlowLayout(FlowLayout.LEFT, 7, 7));
FucP.setPreferredSize(new Dimension(50,0));
String[] s2 = { "m-", "gh", "bfh", "fs", "dh" };
//循环数组
for(int i=0;i<s2.length;i++){
//实例化ImageIcon的对象
ImageIcon image = new ImageIcon(this.getClass().getResource(s2[i]+".png"));
JButton jbu = new JButton(image);
//设置按钮的动作命令
jbu.setActionCommand(s2[i]);
if(s2[i].equals("dh")){
jbu.setPreferredSize(new Dimension(34,61));
}else{
jbu.setPreferredSize(new Dimension(34,27));
}
//给事件源jbu添加一个动作监听器方法,绑定事件处理类的对象cl
jbu.addActionListener(cl);
FucP.add(jbu);
}
panel.add(FucP, BorderLayout.EAST);
jf.add(panel, BorderLayout.SOUTH);
}
功能按钮的代码,可以实现基础四则运算和√,M+,M-等复杂运算,
其中由于由于文本框和运算监听器反复使用所以设置为了属性
private JTextField text1 = new JTextField();
private calListener cl = new calListener(text1);
分享到:
相关推荐
C#计算器代码优化版 右下角还有关于C#的学习资料。
十六进制计算器很使用的!大家可以试试哦!保证好用!
优化目标有多种,如:按最佳经济性、最佳性价比、最佳性能等目标进行优化。 ③ 优化后,整车百公里耗电量、百公里加速时间等重要参数一目了然。 ④ 对整个纯电动车辆系统在各种工况下电机的出力情况进行计算,如各种...
一个基于VB6.0的行列式计算器优化版,输入N的值,点击确定,可生成行列,可计算出结果,可清空复制数据。 作者寄语:在源码爱...
绿色无需安装小程序,主要功能如下: 1、连加的计算 2、幂次方的计算
51计算器优化版(可计算运算优先级).zip
一个简单的MD5计算器 能计算用户输入字符串的MD5值 能计算用户选择文件的MD5值 能够验证文件是否损坏 为上一个MD5计算器的优化版
软件介绍: 小蔡计算器4.0是一款界面优美的多功能,高效的计算器工具软件。具有常用的数学基本运算功能, 以及数学的基础科学计算功能,同时还具备表达计算式...4.重构和优化部分代码,提高程序的稳定性和运行效率。
佐手软件所提供的新型表达式语音计算器软件下载,AH计算器软件秉承佐手AH系列软件新颖实用简便的特点,为您提供了一款...AH计算器软件 v4.13 免费版 更新日志 优化软件界面,增强帮助信息和语音支持 AH计算器软件截图
黄易输入法2019优化版(包含音形、部首输入法),已经七岁了。经历了33次优化升级,、功能从简――繁――简,性能有几次大飞跃。可谓千锤百炼,成为超群脱俗,独树一帜,举世无双的输入法之极品,任何一款输入法都无法...
* 一些细节的优化,提高效率 6.3.0 + 缩写设定中缩写值首字母为"_"(英文下划线)时将忽略此项 + 默认设定下加入20种氨基酸残基的缩写(每种去掉一分子水) - 修正某对话框中的错别字 - 修正缩写设定对话框...
最新个人所得税计算器2015版,Excel版本,根据网友反馈,进一步优化了显示内容,现在版本为V3.0。社保参数明确显示出来。 里面包括工资收入计税,年终奖收入计税,以及劳务报酬计税。所有税收、扣除、收入等各项清晰计算...
万能计算器为您提供了非常实用的计算功能,包含了房贷计算器,公积金贷款计算器,二手房贷款计算器,存款利率计算器,车贷计算器,房产税计算器等计算功能,同时还为您提供了多款的系统优化工具。 功能介绍 房贷...
功能得到了极大的提高!支持括号、小数、长数字、异常输入规避和判断。修复 V2版本中存在的错误;...优化 输入输出数据范围;优化 在括号内输入单个数字的运算。程序可运行测试和使用。版本号:V3.01
给倩女幽魂Online2的玩家提供一项便利,工具描述:在109一条大闹宝藏洞中计算九宫图任务试用方便计算,并附赠源代码,有精力的同仁可以一起研究优化,注意使用VS2013以上版本打开。
12月3日更新3.43:增加新作物数据,优化存储方法。 12月10日更新3.44:增加新作物数据,修复之前的严重问题。 12月22日更新3.45:修复“使用自设倒计时”的备注错误。 [2010] 1月~2月3日:版本未更新,增加新的作物...
8、优化求圆周率的算法,可精确到9000位以上 9、修正了之前版本的一些bug 10、美化界面 【版权说明】 未经编写人员许可,任何单位及个人不得以任何方式或理由对该产品进行复制、修改、抄录、传播或与其它产品...
Rent房租计算器,仅适用于学习,可以用作课设。计算结果仅供参考,不保证结果正确性。编写使用的是Android Studio2.3.3 ,JDK1.8 版本。如果没有积分,可以在后面备注的博客找链接...3、数据结构对于计算逻辑的优化;
第八-十周: 用Java实现计算器系统的界面,并进行优化; 第十一周: 整理资料,写论文; 第十二周: 完善计算器系统,修改整理论文,准备答辩。 五、参考文献 [1] 戚汝鹏. JBuilder 2005开发实例完全剖析[M]. ...
华龙股票收益计算器 V9.5[2002年5月20日版],主要增强以下一些功能: 一、由于最近佣金进行了一定的调整,为适应新的变化,启用了第四版的数据文件格式,添加了用户“佣金下限”的定义功能;同时也增加了买卖时间的...