From bd9014b0da57814cab6e92d0d8c8fa418f604b40 Mon Sep 17 00:00:00 2001 From: Administrator Date: Tue, 24 May 2022 22:23:07 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .settings/org.eclipse.core.resources.prefs | 2 + src/java2022spring/Counting.java | 53 +++++++++++++++++++++ src/java2022spring/{Test.java => Main.java} | 18 ++++--- 3 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 src/java2022spring/Counting.java rename src/java2022spring/{Test.java => Main.java} (40%) diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..db99591 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//src/java2022spring/Counting.java=UTF-8 diff --git a/src/java2022spring/Counting.java b/src/java2022spring/Counting.java new file mode 100644 index 0000000..74e0e37 --- /dev/null +++ b/src/java2022spring/Counting.java @@ -0,0 +1,53 @@ +package java2022spring; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +public class Counting extends JFrame{ + JFrame frame=new JFrame(); + String[] key={"%","CE","C","BACK","1/x","x²","√x","÷","7","8","9","×","4","5","6","-","1","2","3","+","+/-","0",".","="}; + JButton button[]=new JButton[key.length]; + JPanel panel =new JPanel(); + JTextField text=new JTextField(); + +public void Calculator() { //计算器基本设置 + frame.setTitle("计算器 ——吴纯莹"); + frame.setSize(500,800); + frame.setResizable(true); + frame.setVisible(true); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); +} + + +public void Data() { + Color color1=new Color(255,255,204); //等于号 + Color color2=new Color(242,242,242); //上圈 + Color color3=new Color(204,204,204); //背景色 + + for(int i=0;i<8;i++) { + button[i]=new JButton(key[i]); + button[i].setBackground(color2); + button[i].setForeground(Color.black); + button[i].setFont(new Font(Font.SERIF,Font.PLAIN,18)); + } + for(int j=8;j Date: Tue, 24 May 2022 22:27:47 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Counting.java | 2 +- src/java2022spring/Main.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/java2022spring/Counting.java b/src/java2022spring/Counting.java index 74e0e37..a37d738 100644 --- a/src/java2022spring/Counting.java +++ b/src/java2022spring/Counting.java @@ -37,7 +37,7 @@ public void Data() { button[j].setForeground(Color.black); button[j].setFont(new Font(Font.SERIF,Font.PLAIN,18)); } - add(frame); + add(frame); frame.add(panel); add(panel); panel.add(text); diff --git a/src/java2022spring/Main.java b/src/java2022spring/Main.java index e78de91..0b66042 100644 --- a/src/java2022spring/Main.java +++ b/src/java2022spring/Main.java @@ -3,7 +3,7 @@ public class Main { public static void main(String[] args) { Counting counting=new Counting(); counting.Calculator(); - counting.Data(); + counting.Data(); } } -- Gitee From ec9d38ce752eba3b74fbf9658f9609e40b007fc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=88=9F=E9=81=A5?= Date: Fri, 27 May 2022 22:33:31 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Counting.java | 47 ++++++++++++++++---------------- src/java2022spring/DealData.java | 10 +++++++ src/java2022spring/Main.java | 4 +-- 3 files changed, 34 insertions(+), 27 deletions(-) create mode 100644 src/java2022spring/DealData.java diff --git a/src/java2022spring/Counting.java b/src/java2022spring/Counting.java index a37d738..e46c0ad 100644 --- a/src/java2022spring/Counting.java +++ b/src/java2022spring/Counting.java @@ -1,53 +1,52 @@ package java2022spring; import javax.swing.*; import java.awt.*; -import java.awt.event.*; public class Counting extends JFrame{ JFrame frame=new JFrame(); String[] key={"%","CE","C","BACK","1/x","x²","√x","÷","7","8","9","×","4","5","6","-","1","2","3","+","+/-","0",".","="}; JButton button[]=new JButton[key.length]; - JPanel panel =new JPanel(); + JPanel keysPanel =new JPanel(); + JPanel textPanel=new JPanel(); JTextField text=new JTextField(); + -public void Calculator() { //计算器基本设置 - frame.setTitle("计算器 ——吴纯莹"); - frame.setSize(500,800); +public void Calculator() { //计算器基本设置 + frame.setTitle("Java计算器 ——吴纯莹"); + frame.setSize(410,600); frame.setResizable(true); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); -} - - -public void Data() { - Color color1=new Color(255,255,204); //等于号 + + Color color1=new Color(255,102,162); //等于号 Color color2=new Color(242,242,242); //上圈 Color color3=new Color(204,204,204); //背景色 - for(int i=0;i<8;i++) { button[i]=new JButton(key[i]); + keysPanel.add(button[i]); button[i].setBackground(color2); button[i].setForeground(Color.black); button[i].setFont(new Font(Font.SERIF,Font.PLAIN,18)); } for(int j=8;j Date: Wed, 1 Jun 2022 21:01:11 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E7=BC=96=E5=86=99=E4=BA=86=E5=87=A0?= =?UTF-8?q?=E4=B8=AA=E6=8C=89=E9=94=AE=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .settings/org.eclipse.core.resources.prefs | 1 + src/java2022spring/Counting.java | 24 ++++--- src/java2022spring/DataListener.java | 77 ++++++++++++++++++++++ src/java2022spring/DealData.java | 10 --- src/java2022spring/Main.java | 1 + 5 files changed, 95 insertions(+), 18 deletions(-) create mode 100644 src/java2022spring/DataListener.java delete mode 100644 src/java2022spring/DealData.java diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index db99591..3c8941f 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,3 @@ eclipse.preferences.version=1 encoding//src/java2022spring/Counting.java=UTF-8 +encoding//src/java2022spring/DataListener.java=UTF-8 diff --git a/src/java2022spring/Counting.java b/src/java2022spring/Counting.java index e46c0ad..4455b91 100644 --- a/src/java2022spring/Counting.java +++ b/src/java2022spring/Counting.java @@ -1,13 +1,18 @@ package java2022spring; import javax.swing.*; import java.awt.*; +import java.awt.event.*; public class Counting extends JFrame{ JFrame frame=new JFrame(); String[] key={"%","CE","C","BACK","1/x","x²","√x","÷","7","8","9","×","4","5","6","-","1","2","3","+","+/-","0",".","="}; + double number=0.0000; JButton button[]=new JButton[key.length]; JPanel keysPanel =new JPanel(); JPanel textPanel=new JPanel(); JTextField text=new JTextField(); + Color color1=new Color(255,102,162); //等于号 + Color color2=new Color(242,242,242); //上圈 + Color color3=new Color(204,204,204); //背景色 public void Calculator() { //计算器基本设置 @@ -16,10 +21,6 @@ public void Calculator() { //计算器基本设置 frame.setResizable(true); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - Color color1=new Color(255,102,162); //等于号 - Color color2=new Color(242,242,242); //上圈 - Color color3=new Color(204,204,204); //背景色 for(int i=0;i<8;i++) { button[i]=new JButton(key[i]); keysPanel.add(button[i]); @@ -27,7 +28,7 @@ public void Calculator() { //计算器基本设置 button[i].setForeground(Color.black); button[i].setFont(new Font(Font.SERIF,Font.PLAIN,18)); } - for(int j=8;j0) { + getText=getText.substring(0,length-1); //方法来源网络 + } + else if(length==0) { + countKey.text.setText("0"); + } + } + public void reciprocalKey() { + if(countKey.number!=0) { + countKey.number=1/getNumber(); + } + else countKey.text.setText("分母不能为0"); + } + public void powKey() { + countKey.number=getNumber()*getNumber(); + } + public void sqrtKey() { + if(countKey.number>=0) { + countKey.number=Math.sqrt(getNumber()); + } + else countKey.text.setText("根号内不能为负数"); + } + public void changeFuhao() { + countKey.number=(-1)*getNumber(); + } + public void calculating() { + + } +} + + diff --git a/src/java2022spring/DealData.java b/src/java2022spring/DealData.java deleted file mode 100644 index a6c1130..0000000 --- a/src/java2022spring/DealData.java +++ /dev/null @@ -1,10 +0,0 @@ -package java2022spring; -import java.awt.*; -import javax.swing.*; -import java.awt.event.*; -public class DealData implements ActionListener{ - public void actionPerformed(ActionEvent e) { - - } - -} diff --git a/src/java2022spring/Main.java b/src/java2022spring/Main.java index 4d699d2..25dabc3 100644 --- a/src/java2022spring/Main.java +++ b/src/java2022spring/Main.java @@ -3,6 +3,7 @@ public class Main { public static void main(String[] args) { Counting counting=new Counting(); counting.Calculator(); + } -- Gitee From a10b305292152fd68c02bbac952da449b89c2705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=AF=E8=8E=B90221?= Date: Fri, 3 Jun 2022 23:42:16 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Counting.java | 35 +++++------ src/java2022spring/DataListener.java | 86 +++++++++++++++++----------- src/java2022spring/Main.java | 6 +- 3 files changed, 74 insertions(+), 53 deletions(-) diff --git a/src/java2022spring/Counting.java b/src/java2022spring/Counting.java index 4455b91..6d9c9ec 100644 --- a/src/java2022spring/Counting.java +++ b/src/java2022spring/Counting.java @@ -3,7 +3,7 @@ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Counting extends JFrame{ - JFrame frame=new JFrame(); + Counting countKey; String[] key={"%","CE","C","BACK","1/x","x²","√x","÷","7","8","9","×","4","5","6","-","1","2","3","+","+/-","0",".","="}; double number=0.0000; JButton button[]=new JButton[key.length]; @@ -14,13 +14,13 @@ public class Counting extends JFrame{ Color color2=new Color(242,242,242); //上圈 Color color3=new Color(204,204,204); //背景色 + -public void Calculator() { //计算器基本设置 - frame.setTitle("Java计算器 ——吴纯莹"); - frame.setSize(410,600); - frame.setResizable(true); - frame.setVisible(true); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); +public Counting() { //计算器基本设置 + setSize(410,500); + setResizable(true); + setVisible(true); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); for(int i=0;i<8;i++) { button[i]=new JButton(key[i]); keysPanel.add(button[i]); @@ -37,7 +37,7 @@ public void Calculator() { //计算器基本设置 button[j].setFont(new Font(Font.SERIF,Font.PLAIN,18)); } button[key.length-1].setBackground(color1); - keysPanel.setLayout(new GridLayout(6,4,2,2)); + keysPanel.setLayout(new GridLayout(6,4,2,2)); keysPanel.setBackground(color3); text.setFont(new Font("楷体",Font.BOLD,20)); text.setBorder(null); @@ -45,16 +45,17 @@ public void Calculator() { //计算器基本设置 text.setPreferredSize(new Dimension (350,100)); //设置文本框大小 来源网络 text.setHorizontalAlignment(JTextField.RIGHT); //文本位于右边 来源网络 textPanel.add(text); - frame.getContentPane().add("North",textPanel); - frame.getContentPane().add("Center",keysPanel); - } -public class DataEvent { - ActionListener listener=new DataListener(); - public DataEvent() { + Panel newPanel=new Panel(); + newPanel.add(keysPanel,BorderLayout.SOUTH); + newPanel.add(textPanel,BorderLayout.NORTH); + add(newPanel); + DataListener listener=new DataListener(); for(int i=0;i=0) { - countKey.number=Math.sqrt(getNumber()); + else if(fuhao.equals(countKey.key[4])) { // 1/x + reciprocalKey(); + } + else if(fuhao.equals(countKey.key[5])) { //x² + countKey.number=getNumber()*getNumber(); + } + else if(fuhao.equals(countKey.key[6])) { //√x + sqrtKey(); } - else countKey.text.setText("根号内不能为负数"); - } - public void changeFuhao() { + else if(fuhao.equals(countKey.key[20])) { //+/- countKey.number=(-1)*getNumber(); + } } - public void calculating() { + public void reciprocalKey() { + if(countKey.number!=0) { + countKey.number=1/getNumber(); + } + else countKey.text.setText("分母不能为0"); + } + + public void sqrtKey() { + if(countKey.number>=0) { + countKey.number=Math.sqrt(getNumber()); + } + else countKey.text.setText("根号内不能为负数"); + } - } -} + public void counting2() { + + } + + } diff --git a/src/java2022spring/Main.java b/src/java2022spring/Main.java index 25dabc3..4e057d4 100644 --- a/src/java2022spring/Main.java +++ b/src/java2022spring/Main.java @@ -1,9 +1,9 @@ package java2022spring; public class Main { public static void main(String[] args) { - Counting counting=new Counting(); - counting.Calculator(); - + Counting countKey=new Counting(); + countKey.setTitle("--ⴿӨ"); + } -- Gitee From c71e2e581057386721ac6b3740bb763297f7101c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=AF=E8=8E=B90221?= Date: Fri, 3 Jun 2022 23:46:23 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Counting.java | 2 +- src/java2022spring/configuration/1654271098337.log | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 src/java2022spring/configuration/1654271098337.log diff --git a/src/java2022spring/Counting.java b/src/java2022spring/Counting.java index 6d9c9ec..8760597 100644 --- a/src/java2022spring/Counting.java +++ b/src/java2022spring/Counting.java @@ -12,7 +12,7 @@ public class Counting extends JFrame{ JTextField text=new JTextField(); Color color1=new Color(255,102,162); //等于号 Color color2=new Color(242,242,242); //上圈 - Color color3=new Color(204,204,204); //背景色 + Color color3=new Color(204,204,204); //背景色 diff --git a/src/java2022spring/configuration/1654271098337.log b/src/java2022spring/configuration/1654271098337.log new file mode 100644 index 0000000..362da48 --- /dev/null +++ b/src/java2022spring/configuration/1654271098337.log @@ -0,0 +1,9 @@ +!SESSION Fri Jun 03 23:44:58 CST 2022 ------------------------------------------ +!ENTRY org.eclipse.equinox.launcher 4 0 2022-06-03 23:44:58.360 +!MESSAGE Exception launching the Eclipse Platform: +!STACK +java.io.FileNotFoundException: Could not find framework under d:\eclipse\java2022spring\src\java2022spring\plugins + at org.eclipse.equinox.launcher.Main.getBootPath(Main.java:981) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:576) + at org.eclipse.equinox.launcher.Main.run(Main.java:1467) + -- Gitee From 184d35667c655005668d8507d1a8ba19802ef8e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=AF=E8=8E=B90221?= Date: Sun, 5 Jun 2022 21:58:14 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E6=9C=BA=E5=9F=BA=E6=9C=AC=E5=8A=9F=E8=83=BD=E7=9A=84?= =?UTF-8?q?=E5=A1=AB=E5=86=99=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8C=E5=AE=8C=E5=96=84=E4=BA=86=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E6=9C=BA=E7=9A=84=E5=A4=96=E8=A7=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Counting.java | 44 +++---- src/java2022spring/DataListener.java | 166 ++++++++++++++++++--------- src/java2022spring/Main.java | 11 +- 3 files changed, 136 insertions(+), 85 deletions(-) diff --git a/src/java2022spring/Counting.java b/src/java2022spring/Counting.java index 8760597..8b2eece 100644 --- a/src/java2022spring/Counting.java +++ b/src/java2022spring/Counting.java @@ -3,59 +3,53 @@ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Counting extends JFrame{ - Counting countKey; - String[] key={"%","CE","C","BACK","1/x","x²","√x","÷","7","8","9","×","4","5","6","-","1","2","3","+","+/-","0",".","="}; + String[] keys={"%","CE","C","BACK","1/x","x²","√x","÷","7","8","9","×","4","5","6","-","1","2","3","+","+/-","0",".","="}; double number=0.0000; - JButton button[]=new JButton[key.length]; + JButton button[]=new JButton[keys.length]; JPanel keysPanel =new JPanel(); JPanel textPanel=new JPanel(); - JTextField text=new JTextField(); - Color color1=new Color(255,102,162); //等于号 - Color color2=new Color(242,242,242); //上圈 - Color color3=new Color(204,204,204); //背景色 - - + JTextField text=new JTextField("0"); + Color color1=new Color(224,205,207); //等于号 + Color color2=new Color(181,196,177); //上圈 + Color color3=new Color(216,202,175); //背景色 + Color color4=new Color(236,236,234); //下圈 public Counting() { //计算器基本设置 - setSize(410,500); + setSize(410,450); setResizable(true); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); for(int i=0;i<8;i++) { - button[i]=new JButton(key[i]); + button[i]=new JButton(keys[i]); keysPanel.add(button[i]); button[i].setBackground(color2); - button[i].setForeground(Color.black); button[i].setFont(new Font(Font.SERIF,Font.PLAIN,18)); } - for(int j=8;j=0) { //按了数字或者小数点 + setNumber(str); } - if((countKey.key.equals("."))&&(countKey.text.getText().indexOf(".")<0)){ - countKey.text.setText(countKey.text.getText()+"."); - }else if(!countKey.key.equals(".")) { - countKey.text.setText(countKey.text.getText()+key); + else if(str.equals(str.equals(view.keys[0]))||str.equals(view.keys[4])||str.equals(view.keys[5])||str.equals(view.keys[6])||str.equals(view.keys[20])) { //只需一个数的运算 + counting1(str); } - firstNumber=false; - } - public double getNumber() { - double num=0; - try { - num= Double.valueOf(countKey.text.getText()).doubleValue(); //来源网络 - } catch (NumberFormatException e) { - } - return num; - } - public void BackKey() { - String getText=countKey.text.getText(); + else{ //需要两个数的运算 + counting2(str); + } + } + + + public void BACKKey() { + String getText=view.text.getText(); int length=getText.length(); if(length>0) { getText=getText.substring(0,length-1); //方法来源网络 } else if(length==0) { - countKey.text.setText("0"); + view.text.setText("0"); } } + public void setNumber(String key) { + if(firstNumber) { + view.text.setText(key); + } + else if((key.equals(view.keys[22]))&&(view.text.getText().indexOf(view.keys[22])<0)){ + view.text.setText(view.text.getText()+"."); + }else if(!key.equals(".")) { + view.text.setText(view.text.getText()+key); + } + firstNumber=false; + } public void counting1(String key) { fuhao=key; - if(fuhao.equals(countKey.key[0])) { //% - countKey.number=countKey.number/100; + if(fuhao.equals(view.keys[0])) {//% + view.number=getNumber()/100; } - else if(fuhao.equals(countKey.key[4])) { // 1/x + else if(fuhao.equals(view.keys[4])) { // 1/x reciprocalKey(); } - else if(fuhao.equals(countKey.key[5])) { //x² - countKey.number=getNumber()*getNumber(); + else if(fuhao.equals(view.keys[5])) { //x² + view.number=getNumber()*getNumber(); } - else if(fuhao.equals(countKey.key[6])) { //√x + else if(fuhao.equals(view.keys[6])) { //√x sqrtKey(); } - else if(fuhao.equals(countKey.key[20])) { //+/- - countKey.number=(-1)*getNumber(); + else if(fuhao.equals(view.keys[20])) { //+/- + view.number=(-1)*getNumber(); + if (operator) { + // 操作合法的情况下,结果为小数保留小数点后4位,整数正常输出 + long t1; + double t2; + t1 = (long) view.number; + t2 = view.number - t1; + if (t2 == 0) { + view.text.setText(String.valueOf(t1)); + } else { + view.text.setText(String.valueOf(new DecimalFormat("0.0000").format(view.number))); + } + } + firstNumber = true; + operator= true; } } public void reciprocalKey() { - if(countKey.number!=0) { - countKey.number=1/getNumber(); + if(view.number==0) { + operator=false; + view.text.setText("分母不能为0"); } - else countKey.text.setText("分母不能为0"); + else view.number=1/getNumber(); } public void sqrtKey() { - if(countKey.number>=0) { - countKey.number=Math.sqrt(getNumber()); + if(view.number>=0) { + view.number=Math.sqrt(getNumber()); } - else countKey.text.setText("根号内不能为负数"); + else view.text.setText("根号内不能为负数"); } - public void counting2() { - - } - + public void counting2(String key) { + if(fuhao.equals(view.keys[7])) { //➗ + if(getNumber()==0.0) { + operator=false; + view.text.setText("除数不能为0"); + } + else view.number/=getNumber(); + } + else if(fuhao.equals(view.keys[11])) { //× + view.number*=getNumber(); + } + else if(fuhao.equals(view.keys[15])) { //- + view.number-=getNumber(); + } + else if(fuhao.equals(view.keys[19])) { //+ + view.number+=getNumber(); + } + else if(fuhao.equals(view.keys[23])) { //= + view.number=getNumber(); + } + if(operator) { + long t1; + double t2; + t1=(long)view.number; + t2=view.number-t1; + if (t2 == 0) { + view.text.setText(String.valueOf(t1)); + } else { + view.text.setText(String.valueOf(new DecimalFormat("0.0000").format(view.number))); + } + } + fuhao = key; // 运算符为用户按的按钮 + firstNumber = true; + operator= true; + } + public double getNumber() { + double num=0; + try { + num= Double.valueOf(view.text.getText()).doubleValue(); //来源网络 + } catch (NumberFormatException e) { + } + return num; + } + } diff --git a/src/java2022spring/Main.java b/src/java2022spring/Main.java index 4e057d4..aeadcf2 100644 --- a/src/java2022spring/Main.java +++ b/src/java2022spring/Main.java @@ -1,10 +1,7 @@ package java2022spring; public class Main { - public static void main(String[] args) { - Counting countKey=new Counting(); - countKey.setTitle("--ⴿӨ"); - - - } - +public static void main(String[] args) { + Counting countKey=new Counting(); + countKey.setTitle("--ⴿӨ"); } +} \ No newline at end of file -- Gitee From 9f508b68fed7278d722e12884da1451755371edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=AF=E8=8E=B90221?= Date: Mon, 6 Jun 2022 21:32:54 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E6=9C=BA=E6=A0=87=E5=87=86=E5=9E=8B=E7=9A=84=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=B9=B6=E6=96=B0=E8=AE=BE?= =?UTF-8?q?=E6=8D=A2=E7=9A=AE=E8=82=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ChoiceSkinListener.java | 65 ++++++++++++++++++++++ src/java2022spring/Counting.java | 45 ++++++++++++--- src/java2022spring/DataListener.java | 36 +++++++++++- src/java2022spring/SkinListener.java | 47 ++++++++++++++++ 4 files changed, 183 insertions(+), 10 deletions(-) create mode 100644 src/java2022spring/ChoiceSkinListener.java create mode 100644 src/java2022spring/SkinListener.java diff --git a/src/java2022spring/ChoiceSkinListener.java b/src/java2022spring/ChoiceSkinListener.java new file mode 100644 index 0000000..18061df --- /dev/null +++ b/src/java2022spring/ChoiceSkinListener.java @@ -0,0 +1,65 @@ +package java2022spring; + +import java.awt.Color; +import java.awt.event.ItemEvent; + +import javax.swing.event.MenuEvent; +import javax.swing.event.MenuListener; + +public class ChoiceSkinListener implements MenuListener{ + + public void setView(Counting view) { + this.view=view; + } + Counting view; + Color color=new Color(101,101,101); + Color color2=new Color(224,229,223); + + public void menuSelected(MenuEvent e) { + String str=(String)view.choiceSkin.getSelectedItem(); + if(str.equals("Ƥ2")) { + view.keysPanel.setBackground(Color.gray); + for(int i=0;ichoiceSkin; Color color1=new Color(224,205,207); //等于号 Color color2=new Color(181,196,177); //上圈 Color color3=new Color(216,202,175); //背景色 Color color4=new Color(236,236,234); //下圈 + Color color5=new Color(238,238,238); public Counting() { //计算器基本设置 - setSize(410,450); - setResizable(true); - setVisible(true); + setSize(410,510); + setResizable(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + choiceSkin=new JComboBox(); + choiceSkin.setFont(new Font("楷体",Font.BOLD,20)); + choiceSkin.setBackground(color5); + choiceSkin.setForeground(color5); + String skin1= new String("皮肤1"); + String skin2= new String("皮肤2"); + choiceSkin.addItem(skin1); + choiceSkin.addItem(skin2); + SkinListener skinlistener=new SkinListener(); + skinlistener.setView(this); + choiceSkin.addItemListener(skinlistener); + newPanel.setLayout(null); + newPanel.add(choiceSkin); + add(newPanel); + choiceSkin.setBounds(20,50,100,30); + for(int a=0;a<6;a++) { + Mbutton[a]=new JButton(Mkey[a]); + MPanel.add(Mbutton[a]); + Mbutton[a].setBackground(color2); + Mbutton[a].setFont(new Font(Font.SERIF,Font.PLAIN,18)); + } for(int i=0;i<8;i++) { button[i]=new JButton(keys[i]); keysPanel.add(button[i]); @@ -38,18 +66,21 @@ public Counting() { //计算器基本设置 text.setFont(new Font("楷体",Font.BOLD,20)); text.setBorder(null); text.setOpaque(false); //将边框设为透明 来源网络 - text.setPreferredSize(new Dimension (300,230)); //设置文本框大小 来源网络 + text.setPreferredSize(new Dimension (150,350)); //设置文本框大小 来源网络 text.setHorizontalAlignment(JTextField.RIGHT); //文本位于最右边 来源网络 textPanel.add(text); - Panel newPanel=new Panel(); newPanel.setLayout(new BorderLayout()); + newPanel.add(MPanel,BorderLayout.NORTH); newPanel.add(keysPanel,BorderLayout.SOUTH); newPanel.add(textPanel,BorderLayout.CENTER); add(newPanel); DataListener listener=new DataListener(); listener.setView(this); for(int i=0;i0) { - getText=getText.substring(0,length-1); //方法来源网络 + getText=getText.substring(0,length-1);//方法来源网络 + view.text.setText(getText); } - else if(length==0) { + if(length==0) { view.text.setText("0"); + firstNumber=true; + fuhao="="; } } public void setNumber(String key) { diff --git a/src/java2022spring/SkinListener.java b/src/java2022spring/SkinListener.java new file mode 100644 index 0000000..55f541f --- /dev/null +++ b/src/java2022spring/SkinListener.java @@ -0,0 +1,47 @@ +package java2022spring; +import java.awt.Color; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; + +import java2022spring.Counting; +public class SkinListener implements ItemListener{ + public void setView(Counting view) { + this.view=view; + } + Counting view; + Color color=new Color(101,101,101); + Color color2=new Color(224,229,223); + + public void itemStateChanged(ItemEvent e) { + String str=(String)view.choiceSkin.getSelectedItem(); + if(str.equals("Ƥ2")) { + view.keysPanel.setBackground(Color.gray); + for(int i=0;i Date: Mon, 6 Jun 2022 21:35:01 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ChoiceSkinListener.java | 65 ---------------------- 1 file changed, 65 deletions(-) delete mode 100644 src/java2022spring/ChoiceSkinListener.java diff --git a/src/java2022spring/ChoiceSkinListener.java b/src/java2022spring/ChoiceSkinListener.java deleted file mode 100644 index 18061df..0000000 --- a/src/java2022spring/ChoiceSkinListener.java +++ /dev/null @@ -1,65 +0,0 @@ -package java2022spring; - -import java.awt.Color; -import java.awt.event.ItemEvent; - -import javax.swing.event.MenuEvent; -import javax.swing.event.MenuListener; - -public class ChoiceSkinListener implements MenuListener{ - - public void setView(Counting view) { - this.view=view; - } - Counting view; - Color color=new Color(101,101,101); - Color color2=new Color(224,229,223); - - public void menuSelected(MenuEvent e) { - String str=(String)view.choiceSkin.getSelectedItem(); - if(str.equals("Ƥ2")) { - view.keysPanel.setBackground(Color.gray); - for(int i=0;i