`
yxmds
  • 浏览: 3553 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

优化版计算器

阅读更多
在做完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#计算器代码优化版 右下角还有关于C#的学习资料。

    十六进制计算器汉化版优化版

    十六进制计算器很使用的!大家可以试试哦!保证好用!

    纯电动车辆动力系统优化计算器

    优化目标有多种,如:按最佳经济性、最佳性价比、最佳性能等目标进行优化。 ③ 优化后,整车百公里耗电量、百公里加速时间等重要参数一目了然。 ④ 对整个纯电动车辆系统在各种工况下电机的出力情况进行计算,如各种...

    VB行列式计算器优化版

    一个基于VB6.0的行列式计算器优化版,输入N的值,点击确定,可生成行列,可计算出结果,可清空复制数据。 作者寄语:在源码爱...

    连加幂次方计算器优化版

    绿色无需安装小程序,主要功能如下: 1、连加的计算 2、幂次方的计算

    51计算器优化版(可计算运算优先级).zip

    51计算器优化版(可计算运算优先级).zip

    简单的MD5校验器,是上一个MD5计算器的优化版

    一个简单的MD5计算器 能计算用户输入字符串的MD5值 能计算用户选择文件的MD5值 能够验证文件是否损坏 为上一个MD5计算器的优化版

    小蔡计算器 4.0

    软件介绍: 小蔡计算器4.0是一款界面优美的多功能,高效的计算器工具软件。具有常用的数学基本运算功能, 以及数学的基础科学计算功能,同时还具备表达计算式...4.重构和优化部分代码,提高程序的稳定性和运行效率。

    AH计算器软件 v4.13 免费版.zip

    佐手软件所提供的新型表达式语音计算器软件下载,AH计算器软件秉承佐手AH系列软件新颖实用简便的特点,为您提供了一款...AH计算器软件 v4.13 免费版 更新日志 优化软件界面,增强帮助信息和语音支持 AH计算器软件截图

    黄易输入法2019优化版

    黄易输入法2019优化版(包含音形、部首输入法),已经七岁了。经历了33次优化升级,、功能从简――繁――简,性能有几次大飞跃。可谓千锤百炼,成为超群脱俗,独树一帜,举世无双的输入法之极品,任何一款输入法都无法...

    分子量计算器 6.6.0

    * 一些细节的优化,提高效率 6.3.0 + 缩写设定中缩写值首字母为"_"(英文下划线)时将忽略此项 + 默认设定下加入20种氨基酸残基的缩写(每种去掉一分子水) - 修正某对话框中的错别字 - 修正缩写设定对话框...

    最新个人所得税计算器Excel表2015版-V3.0.

    最新个人所得税计算器2015版,Excel版本,根据网友反馈,进一步优化了显示内容,现在版本为V3.0。社保参数明确显示出来。 里面包括工资收入计税,年终奖收入计税,以及劳务报酬计税。所有税收、扣除、收入等各项清晰计算...

    万能计算器(房贷车贷房产税)v3.0.8官方安装版

    万能计算器为您提供了非常实用的计算功能,包含了房贷计算器,公积金贷款计算器,二手房贷款计算器,存款利率计算器,车贷计算器,房产税计算器等计算功能,同时还为您提供了多款的系统优化工具。 功能介绍 房贷...

    四则运算计算器V3_C语言项目

    功能得到了极大的提高!支持括号、小数、长数字、异常输入规避和判断。修复 V2版本中存在的错误;...优化 输入输出数据范围;优化 在括号内输入单个数字的运算。程序可运行测试和使用。版本号:V3.01

    倩女幽魂藏宝洞九宫图计算器《工具+源代码》

    给倩女幽魂Online2的玩家提供一项便利,工具描述:在109一条大闹宝藏洞中计算九宫图任务试用方便计算,并附赠源代码,有精力的同仁可以一起研究优化,注意使用VS2013以上版本打开。

    计算作物基本信息,即网页上能看到的那些信息,关于QQ农场作物计算器

    12月3日更新3.43:增加新作物数据,优化存储方法。 12月10日更新3.44:增加新作物数据,修复之前的严重问题。 12月22日更新3.45:修复“使用自设倒计时”的备注错误。 [2010] 1月~2月3日:版本未更新,增加新的作物...

    MFC开发的多功能高精度计算器(含源码

    8、优化求圆周率的算法,可精确到9000位以上 9、修正了之前版本的一些bug 10、美化界面 【版权说明】 未经编写人员许可,任何单位及个人不得以任何方式或理由对该产品进行复制、修改、抄录、传播或与其它产品...

    Rent 房租计算器源码 基于 Android Studio

    Rent房租计算器,仅适用于学习,可以用作课设。计算结果仅供参考,不保证结果正确性。编写使用的是Android Studio2.3.3 ,JDK1.8 版本。如果没有积分,可以在后面备注的博客找链接...3、数据结构对于计算逻辑的优化;

    基于Java的标准型计算器设计【开题报告】.doc

    第八-十周: 用Java实现计算器系统的界面,并进行优化; 第十一周: 整理资料,写论文; 第十二周: 完善计算器系统,修改整理论文,准备答辩。 五、参考文献 [1] 戚汝鹏. JBuilder 2005开发实例完全剖析[M]. ...

    华龙股票收益计算器

    华龙股票收益计算器 V9.5[2002年5月20日版],主要增强以下一些功能: 一、由于最近佣金进行了一定的调整,为适应新的变化,启用了第四版的数据文件格式,添加了用户“佣金下限”的定义功能;同时也增加了买卖时间的...

Global site tag (gtag.js) - Google Analytics