JAVAGUI-计算器程序
来源:互联网 发布:纳西莎.马尔福 知乎 编辑:程序博客网 时间:2024/06/07 07:21
package 计算器;import java.awt.Window;import java.awt.*;import java.awt.event.*;import javax.swing.*; class CalculatePanel extends JPanel{ boolean start; String lastCommand="="; double result; JFrame frame=new JFrame(); JButton display; private JPanel panel; public CalculatePanel(){ frame.setSize(800, 600); panel=new JPanel(); display=new JButton("0"); start=true; display.setEnabled(false); setLayout(new BorderLayout()); panel.setLayout(new GridLayout(4,4)); ActionListener listener=new NumAction(); ActionListener watch=new CalculateAction(); frame.add(display,BorderLayout.NORTH); addButton("7",listener); addButton("8",listener); addButton("9",listener); addButton("/",watch); addButton("4",listener); addButton("5",listener); addButton("6",listener); addButton("*",watch); addButton("1",listener); addButton("2",listener); addButton("3",listener); addButton("-",watch); addButton("0",listener); addButton(".",listener); addButton("=",watch); addButton("+",watch); add(panel,BorderLayout.CENTER); frame.add(panel,BorderLayout.CENTER); frame.setTitle("计算器"); frame.setVisible(true); } private void addButton(String str,ActionListener listener){ JButton button=new JButton(str); button.addActionListener(listener);// 给按钮添加监听器 panel.add(button);//讲按钮添加到面板中 }class NumAction implements ActionListener{ public void actionPerformed(ActionEvent event) { // TODO 自动生成的方法存根 String input=event.getActionCommand(); if(start){ display.setText(""); start=false; } display.setText(display.getText()+input); }}class CalculateAction implements ActionListener{ public void actionPerformed(ActionEvent event){//实现每个ActionListener接口的类必须要实现actionPerformed()方法 String command=event.getActionCommand(); if(start){ if(command.equals("-")) { display.setText(command); start=false; } else lastCommand=command; } else { Calculate(Double.parseDouble(display.getText())); lastCommand=command; start=true; } }} public void Calculate(double x){ if(lastCommand.equals("+")) result+=x; else if(lastCommand.equals("-")) result-=x; else if(lastCommand.equals("*"))result*=x; else if(lastCommand.equals("/")) result/=x; else result=x; display.setText(""+result);; } }public class Test { public static void main(String[] args) { // TODO 自动生成的方法存根 CalculatePanel a=new CalculatePanel(); }}
javaGUI
阅读全文
0 0
- JAVAGUI-计算器程序
- javaGUI设计一个简单计算器
- javaGUI实现计算器的界面
- javaGUI设计简单计算器实验报告
- JavaGUI
- JavaGUI
- javaGUI
- JavaGUI
- javaGUI
- JavaGUI
- javaGUI
- 我的第一个javaGUI程序
- 计算器程序
- 计算器程序
- 计算器程序
- JavaGUI-SimpleFrameTest
- JavaGUI-Swing
- JavaGUI编程
- maven profile自动切换环境参数的两种实现方式
- Linux C Strtok函数
- RAM和ROM
- 一分钟告诉你究竟DevOps是什么鬼?
- 集合 ( Subset )
- JAVAGUI-计算器程序
- JS日常随笔:DOM事件
- 关于异步加载script脚本
- android camera2 的基础应用
- 进程间通信(1)
- Linux进程通信之信号
- 学习1
- tensorflow使用range_input_producer多线程读取数据
- 逆序数 51Nod