From 0ab3323d0ca70a9071f8bf129b625546a083bbc5 Mon Sep 17 00:00:00 2001 From: NRc Date: Wed, 8 Jun 2022 22:20:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E5=99=A8=E6=A1=86=E6=9E=B6=E5=92=8C=E4=B8=BB=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorFrame.java | 85 +++++++++++++++++++++++++ src/java2022spring/MainClass.java | 7 ++ 2 files changed, 92 insertions(+) create mode 100644 src/java2022spring/CalculatorFrame.java create mode 100644 src/java2022spring/MainClass.java diff --git a/src/java2022spring/CalculatorFrame.java b/src/java2022spring/CalculatorFrame.java new file mode 100644 index 0000000..17175ca --- /dev/null +++ b/src/java2022spring/CalculatorFrame.java @@ -0,0 +1,85 @@ +package java2022spring; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Arrays; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JPanel; +import javax.swing.JTextArea; +import javax.swing.JTextField; + +public class CalculatorFrame extends JFrame{ //计算器外观 + JTextArea text=new JTextArea(); + double a,b,sum; + int i; + ActionListener listener; + public CalculatorFrame() { + setTitle("计算器");//计算器基础设置 + setBounds(100,100,400,400); + + setResizable(false); + setVisible(true); + setDefaultCloseOperation(EXIT_ON_CLOSE); + + JMenuBar menubar=new JMenuBar();//创建菜单条 + JMenu menu1=new JMenu("查看(V)");//创建和设置菜单名 + JMenu menu2=new JMenu("编辑(E)");//创建和设置菜单名 + JMenu menu3=new JMenu("帮助(H)");//创建和设置菜单名 + menubar.add(menu1);//将菜单加入到菜单条中 + menubar.add(menu2); + menubar.add(menu3); + setJMenuBar(menubar);//将设置好的菜单条放在窗口中 + setLayout(new BorderLayout()); + + JPanel p1=new JPanel(); + JPanel p2=new JPanel();//面板 + text.setPreferredSize(new Dimension (370,60));//设置组件大小 + p2.setLayout(new FlowLayout()); + p1.add(text); + this.add(p1,BorderLayout.NORTH); + + p2.setLayout(new GridLayout(5,4)); //添加按钮 + JButton button[]=new JButton[20]; + button[0]=new JButton("C"); //清空 + button[1]=new JButton("CE"); //清除之前输入的一个数据 + button[2]=new JButton("%"); //取余 + button[3]=new JButton("÷"); //除法 + button[4]=new JButton("7"); + button[5]=new JButton("8"); + button[6]=new JButton("9"); + button[7]=new JButton("x"); //乘号 + button[8]=new JButton("4"); + button[9]=new JButton("5"); + button[10]=new JButton("6"); + button[11]=new JButton("—"); //减号 + button[12]=new JButton("1"); + button[13]=new JButton("2"); + button[14]=new JButton("3"); + button[15]=new JButton("+"); //加号 + button[16]=new JButton("e"); //乘方 + button[17]=new JButton("0"); + button[18]=new JButton("."); //小数点 + button[19]=new JButton("="); //等于 + + for(int i=0;i Date: Fri, 10 Jun 2022 06:01:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=9B=91=E8=A7=86?= =?UTF-8?q?=E5=99=A8=E5=92=8C=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorFrame.java | 199 ++++++++++++++++++++++-- 1 file changed, 184 insertions(+), 15 deletions(-) diff --git a/src/java2022spring/CalculatorFrame.java b/src/java2022spring/CalculatorFrame.java index 17175ca..6c476d2 100644 --- a/src/java2022spring/CalculatorFrame.java +++ b/src/java2022spring/CalculatorFrame.java @@ -16,18 +16,16 @@ import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; -public class CalculatorFrame extends JFrame{ //计算器外观 +public class CalculatorFrame extends JFrame implements ActionListener { //计算器外观 + private StringBuffer sBuffer =new StringBuffer();//用StringBuffer类显示,存储 + private String num; JTextArea text=new JTextArea(); double a,b,sum; int i; - ActionListener listener; public CalculatorFrame() { setTitle("计算器");//计算器基础设置 setBounds(100,100,400,400); - - setResizable(false); - setVisible(true); - setDefaultCloseOperation(EXIT_ON_CLOSE); + this.setResizable(false); JMenuBar menubar=new JMenuBar();//创建菜单条 JMenu menu1=new JMenu("查看(V)");//创建和设置菜单名 @@ -36,8 +34,8 @@ public class CalculatorFrame extends JFrame{ // menubar.add(menu1);//将菜单加入到菜单条中 menubar.add(menu2); menubar.add(menu3); - setJMenuBar(menubar);//将设置好的菜单条放在窗口中 - setLayout(new BorderLayout()); + this.setJMenuBar(menubar);//将设置好的菜单条放在窗口中 + this.setLayout(new BorderLayout()); JPanel p1=new JPanel(); JPanel p2=new JPanel();//面板 @@ -49,7 +47,7 @@ public class CalculatorFrame extends JFrame{ // p2.setLayout(new GridLayout(5,4)); //添加按钮 JButton button[]=new JButton[20]; button[0]=new JButton("C"); //清空 - button[1]=new JButton("CE"); //清除之前输入的一个数据 + button[1]=new JButton("Back"); //清除之前输入的一个数据 button[2]=new JButton("%"); //取余 button[3]=new JButton("÷"); //除法 button[4]=new JButton("7"); @@ -69,17 +67,188 @@ public class CalculatorFrame extends JFrame{ // button[18]=new JButton("."); //小数点 button[19]=new JButton("="); //等于 - for(int i=0;i