GUI:简易计算器设计

您所在的位置:网站首页 java做一个简易计算器 GUI:简易计算器设计

GUI:简易计算器设计

2024-07-10 02:03| 来源: 网络整理| 查看: 265

目录

一.界面设计

二.功能设计

 三.代码实现

 四.注意事项

一.界面设计

设计计算器界面时,首先需要建立一个Frame容器,作为显示窗口,之后的界面设计即围绕在该显示窗口中添加功能组件来进行后续操作。

在显示窗口上,可将该界面分为两部分,第一部分即为最上方的文本域组件,用于显示要进行计算的式子,所有的计算式与最终结果均在此文本域中显示。第二部分即为下方的按钮组件,在实现下方的按钮组件,设计思路为,新建若干个Panel容器,将其设置为FlowLayout分布式,以行为单位添加每一行的按钮组件,最后采用Box容器,向其添加之前新建的Panel容器,由于Frame容器默认为BorderLayout分布方式,将文本域组件放置于NORTH,将按钮组件放置于CENTER,之后调整Frame容器的可见性以及大小参数,此时即完成了计算器的界面设计,得到效果图如下:

二.功能设计

在计算器的功能设计中,分为输入过程功能设计与计算过程功能设计。

第一步,输入过程功能设计。该过程主要实现在点击按钮后,在文本域组件中显示点击的按钮内容,以此构成要计算的算式。在这过程中要注意,不能连续出现两个运算符,否则为错误的算式。

此过程采用的实现方式为采用自定义事件监听器的方式,分别对数字按钮和运算符按钮设计自定义事件监听器。

//定义数字按钮的事件监听器类 class myListener_01 implements ActionListener { @Override public void actionPerformed(ActionEvent e) { ta.append(e.getActionCommand()); } } //定义运算符的事件监听器类 /* 1.不能多个运算符相连,否则则不显示后添加的运算符 2.除号后不能只写0,若除号后只写0,再输入运算符时,会将0删除 */ class myListener_02 implements ActionListener { @Override public void actionPerformed(ActionEvent e) { String str = ta.getText(); String chs = String.valueOf(str.charAt(str.length() - 1)); String ch = String.valueOf(str.charAt(str.length()-2)); if(chs.equals("/") || chs.equals("-") || chs.equals("*") || chs.equals("+")); else if(chs.equals("0") && ch.equals("/")) { StringBuilder sb = new StringBuilder(str); sb.delete(str.length()-1,str.length()); ta.setText(sb.toString()); } else{ ta.append(e.getActionCommand()); } } }

第二步,计算过程功能设计。通过输入过程的功能设计可以保证输入的算式符合运算规则,在计算过程功能设计中,主要针对在用户点击“=”后按照运算规则进行计算,得出正确结果。

在此过程中采用的方法为,首先取到文本域中此时的算式内容,由于此内容为String类型无法进行直接运算,所以应将其中的数字和算术符进行分离,转化为正确的格式,此处采取遍历的方式进行初步筛选,以此就实现了文本域组件中的内容提取。

/* 此方法需要传入取得的文本域内容,一个用于存储数字的数组,一个用于存储运算符的数组 */ public void Traverse(String str,ArrayList arr,ArrayList chs) { StringBuilder sb = new StringBuilder(); for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3