用JAVA写的一个简单的图形界面计算器

编程入门 行业动态 更新时间:2024-10-11 13:24:36

用JAVA写的一个简单的图形界面<a href=https://www.elefans.com/category/jswz/34/1764703.html style=计算器"/>

用JAVA写的一个简单的图形界面计算器

一个简单的计算器,老师布置的作业。

用的swing和awt,bug还是有的,想起来了,发上来,自己留着收藏。

/*** Created by YunFeng  on 2014/12/6 0009.* Student Number:* Teacher:Yongfeng Huang
* University:DHU*Java's homework of No,7 weekend;*/ import java.awt.*; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class ICalculator {public static void main(String args[]){WinGrid ICalc = new WinGrid();ICalc.setTitle("计算器1.0");//程序标题 } }class WinGrid extends JFrame {JPanel calc, screen;//创建两个面板,放置按键和显示器JButton[] buttons = new JButton[16];//创建16个按键JButton clear = new JButton("CE");//创建清除键JTextField screen_txt = new JTextField("0");//创建显示器String[] str = {"7", "8", "9", "+", "4", "5", "6","-", "1", "2", "3", "*", "0", ".", "=", "/"};//计算器的按钮double result = 0;//结果boolean IsClick = false;//是否点击过char operator = '=';//操作符boolean IsPoint = false;//输入的是否是小数点 NumberListener numberListener = new NumberListener();//创建一个数字监视器OperatorListener operatorListener = new OperatorListener();//创建一个操作符监视器ClearListener clearListener = new ClearListener();//创建一个清零操作监视器 WinGrid() {calc = new JPanel(new GridLayout(4, 4));screen = new JPanel(new BorderLayout());/*以上为初始化两个面板布局*/for (int i = 0; i < 16; i++) {buttons[i] = new JButton(str[i]);if (i == 3 || i == 7 || i == 11 || i == 14 || i == 15) {buttons[i].addActionListener(operatorListener);//操作符注册操作符的监视器} elsebuttons[i].addActionListener(numberListener);//数字及小数点注册数字的监视器 calc.add(buttons[i]);}//将按钮添加到操作面板clear.addActionListener(clearListener);//注册清零监视器screen.add(screen_txt, BorderLayout.CENTER);//将显示器添加到显示区域screen.add(clear, BorderLayout.EAST);//将清零键添加到显示器右边add(screen, BorderLayout.NORTH);//将显示器添加到BorderLayout的北方区域,即上方add(calc, BorderLayout.CENTER);//将操作区添加到中央区域 setBounds(450, 150, 240, 240);//设置计算器大小,位置setVisible(true);//设置可见性setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置退出方式validate();//使设置生效(根据课本232页) }class ClearListener implements ActionListener {//清零计数器的实现public void actionPerformed(ActionEvent e) {screen_txt.setText("");}}class NumberListener implements ActionListener {//数字监视器的实现,用于处理数字按钮的监听public void actionPerformed(ActionEvent e) {if (!IsClick) {//没有点击过的操作screen_txt.setText("");IsClick = true;}String s = screen_txt.getText();//读取显示器的内容s += e.getActionCommand();//显示器内容+鼠标点击的内容screen_txt.setText(s);//显示器显示s }}class OperatorListener implements ActionListener {//操作符监听的实现,用于处理点击操作符的事件public void actionPerformed(ActionEvent e) {if (!IsClick) return;//如果数字没有被点击过直接点击操作符,返回String s = screen_txt.getText();//读取显示器内容double num = Double.parseDouble(s);//转换成数字IsClick = false;//点击过操作符后将不能被再次点击操作符switch (operator) {//处理操作符的运算case '+': {result = num + result;break;}case '-': {result = result - num;break;}case '*': {result *= num ;break;}case '/': {if (num == 0) result = 0;elseresult /= num;break;}case '=': {result = num;break;}}screen_txt.setText(String.valueOf( result));//显示器显示结果String op = e.getActionCommand();//监听读取操作符operator = op.charAt(0);//设置操作符 }} }

 

转载于:.html

更多推荐

用JAVA写的一个简单的图形界面计算器

本文发布于:2024-02-19 16:18:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765079.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:计算器   图形界面   简单   JAVA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!