From dca644b774f687dd115cba6b40c11eee55012bd9 Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Sat, 1 Feb 2020 21:04:06 +0800 Subject: [PATCH 1/9] Update Calculator.java --- src/simplejavacalculator/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/simplejavacalculator/Calculator.java b/src/simplejavacalculator/Calculator.java index 73a40ad..9642b62 100644 --- a/src/simplejavacalculator/Calculator.java +++ b/src/simplejavacalculator/Calculator.java @@ -103,7 +103,7 @@ public Double calculateMono(MonoOperatorModes newMode, Double num) { if (num == 0 || num % 180 == 0) { return 0.0; } - if (num % 90 == 0 && num % 180 != 0) + if (num % 90 == 0 && num % 180 != 0) { return NaN; } From 4f70bfc69a84d0b83be90b3e29e352258526e5a3 Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Mon, 3 Feb 2020 11:40:49 +0800 Subject: [PATCH 2/9] Box Layout and Icon Image The FlowLayout automatically wraps the components and sometimes we don't want this to happen, so, I changed the main panel to BoxLayout to disable the automatic wrapping of components. I added several panels to group the buttons accordingly. I added also an icon image to override the default icon of java programs. The icon is my own icon, all rights are reserved. --- src/simplejavacalculator/UI.java | 511 ++++++++++++++++++------------- 1 file changed, 299 insertions(+), 212 deletions(-) diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 2bad76c..9dd7539 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -26,219 +26,306 @@ import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; +import java.awt.Font; +import javax.swing.Box; +import javax.swing.BoxLayout; +import java.awt.Toolkit; +import java.awt.Image; +import javax.swing.ImageIcon; public class UI implements ActionListener { - - private final JFrame frame; - private final JPanel panel; - private final JTextArea text; - private final JButton but[], butAdd, butMinus, butMultiply, butDivide, - butEqual, butCancel, butSquareRoot, butSquare, butOneDevidedBy, - butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary; - private final Calculator calc; - - private final String[] buttonValue = {"0", "1", "2", "3", "4", "5", "6", - "7", "8", "9"}; - - public UI() { - frame = new JFrame("Calculator PH"); - frame.setResizable(false); - panel = new JPanel(new FlowLayout()); - - text = new JTextArea(2, 25); - but = new JButton[10]; - for (int i = 0; i < 10; i++) { - but[i] = new JButton(String.valueOf(i)); - } - - butAdd = new JButton("+"); - butMinus = new JButton("-"); - butMultiply = new JButton("*"); - butDivide = new JButton("/"); - butEqual = new JButton("="); - butSquareRoot = new JButton("√"); - butSquare = new JButton("x*x"); - butOneDevidedBy = new JButton("1/x"); - butCos = new JButton("Cos"); - butSin = new JButton("Sin"); - butTan = new JButton("Tan"); - butxpowerofy = new JButton("x^y"); - butlog = new JButton("log10(x)"); - butrate = new JButton("x%"); - butabs = new JButton("abs(x)"); - - butCancel = new JButton("C"); - butBinary = new JButton("Bin"); - - calc = new Calculator(); - } - - public void init() { - frame.setVisible(true); - frame.setSize(330, 300); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.add(panel); - - panel.add(text); - - for (int i = 1; i < 10; i++) { - panel.add(but[i]); - but[i].addActionListener(this); - } - panel.add(but[0]); - but[0].addActionListener(this); - - panel.add(butAdd); - panel.add(butMinus); - panel.add(butMultiply); - panel.add(butDivide); - panel.add(butSquare); - panel.add(butSquareRoot); - panel.add(butOneDevidedBy); - panel.add(butCos); - panel.add(butSin); - panel.add(butTan); - panel.add(butxpowerofy); - panel.add(butlog); - panel.add(butrate); - panel.add(butabs); - panel.add(butabs); - panel.add(butBinary); - - panel.add(butEqual); - panel.add(butCancel); - - butAdd.addActionListener(this); - butMinus.addActionListener(this); - butMultiply.addActionListener(this); - butDivide.addActionListener(this); - butSquare.addActionListener(this); - butSquareRoot.addActionListener(this); - butOneDevidedBy.addActionListener(this); - butCos.addActionListener(this); - butSin.addActionListener(this); - butTan.addActionListener(this); - butxpowerofy.addActionListener(this); - butlog.addActionListener(this); - butrate.addActionListener(this); - butabs.addActionListener(this); - butBinary.addActionListener(this); - - butEqual.addActionListener(this); - butCancel.addActionListener(this); - } - - @Override - public void actionPerformed(ActionEvent e) { - final Object source = e.getSource(); - - for (int i = 0; i < 10; i++) { - if (source == but[i]) { - text.replaceSelection(buttonValue[i]); - return; - } - } - - if (source == butAdd) { - writer(calc.calculateBi(Calculator.BiOperatorModes.add, reader())); - } - - if (source == butMinus) { - writer(calc.calculateBi(Calculator.BiOperatorModes.minus, reader())); - } - - if (source == butMultiply) { - writer(calc.calculateBi(Calculator.BiOperatorModes.multiply, - reader())); - } - - if (source == butDivide) { - writer(calc - .calculateBi(Calculator.BiOperatorModes.divide, reader())); - } - if (source == butxpowerofy) { - writer(calc - .calculateBi(Calculator.BiOperatorModes.xpowerofy, reader())); - } - - if (source == butSquare) { - writer(calc.calculateMono(Calculator.MonoOperatorModes.square, - reader())); - } - - if (source == butSquareRoot) { - writer(calc.calculateMono(Calculator.MonoOperatorModes.squareRoot, - reader())); - } - - if (source == butOneDevidedBy) { - writer(calc.calculateMono( - Calculator.MonoOperatorModes.oneDevidedBy, reader())); - } - - if (source == butCos) { - writer(calc.calculateMono(Calculator.MonoOperatorModes.cos, - reader())); - } - - if (source == butSin) { - writer(calc.calculateMono(Calculator.MonoOperatorModes.sin, - reader())); - } - - if (source == butTan) { - writer(calc.calculateMono(Calculator.MonoOperatorModes.tan, - reader())); - } - if (source == butlog) { - writer(calc.calculateMono(Calculator.MonoOperatorModes.log, - reader())); - } - if (source == butrate) { - writer(calc.calculateMono(Calculator.MonoOperatorModes.rate, - reader())); - } - if(source == butabs){ - writer(calc.calculateMono(Calculator.MonoOperatorModes.abs, reader())); + + private final JFrame frame; + + private final JPanel panel; + private final JPanel panelSub1; + private final JPanel panelSub2; + private final JPanel panelSub3; + private final JPanel panelSub4; + private final JPanel panelSub5; + private final JPanel panelSub6; + private final JPanel panelSub7; + private final JPanel panelSub8; + + private final JTextArea text; + private final JButton but[], butAdd, butMinus, butMultiply, butDivide, + butEqual, butCancel, butSquareRoot, butSquare, butOneDevidedBy, + butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary; + private final Calculator calc; + + private final String[] buttonValue = {"0", "1", "2", "3", "4", "5", "6", + "7", "8", "9"}; + + private final Font font; + private final Font textFont; + ImageIcon image; + + public UI() { + frame = new JFrame("Calculator PH"); + + image = new ImageIcon("icon/icon.png"); + + panel = new JPanel(); + panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS)); + panelSub1 = new JPanel(new FlowLayout()); + panelSub2 = new JPanel(new FlowLayout()); + panelSub3 = new JPanel(new FlowLayout()); + panelSub4 = new JPanel(new FlowLayout()); + panelSub5 = new JPanel(new FlowLayout()); + panelSub6 = new JPanel(new FlowLayout()); + panelSub7 = new JPanel(new FlowLayout()); + panelSub8 = new JPanel(new FlowLayout()); + + font = new Font("Consolas",Font.PLAIN, 18); + + text = new JTextArea(1, 30); + + textFont = new Font("Consolas",Font.BOLD, 24); + + but = new JButton[10]; + for (int i = 0; i < 10; i++) { + but[i] = new JButton(String.valueOf(i)); + } + butAdd = new JButton("+"); + butMinus = new JButton("-"); + butMultiply = new JButton("*"); + butDivide = new JButton("/"); + butEqual = new JButton("="); + butSquareRoot = new JButton("√"); + butSquare = new JButton("x*x"); + butOneDevidedBy = new JButton("1/x"); + butCos = new JButton("Cos"); + butSin = new JButton("Sin"); + butTan = new JButton("Tan"); + butxpowerofy = new JButton("x^y"); + butlog = new JButton("log10(x)"); + butrate = new JButton("x%"); + butabs = new JButton("abs(x)"); + butCancel = new JButton("C"); + butBinary = new JButton("Bin"); + + calc = new Calculator(); + + } + + public void init() { + frame.setSize(450, 450); + frame.setVisible(true); + frame.setLocationRelativeTo(null); + frame.setResizable(false); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setIconImage(image.getImage()); + + text.setFont(textFont); + text.setEditable(false); + + for (int i = 0; i < 10; i++) { + but[i].setFont(font); + } + butAdd.setFont(font); + butMinus.setFont(font); + butMultiply.setFont(font); + butDivide.setFont(font); + butEqual.setFont(font); + butSquareRoot.setFont(font); + butSquare.setFont(font); + butOneDevidedBy.setFont(font); + butCos.setFont(font); + butSin.setFont(font); + butTan.setFont(font); + butxpowerofy.setFont(font); + butlog.setFont(font); + butrate.setFont(font); + butabs.setFont(font); + butCancel.setFont(font); + butBinary.setFont(font); + + panel.add(Box.createHorizontalStrut(100)); + panelSub1.add(text); + panel.add(panelSub1); + + panelSub2.add(but[1]); + panelSub2.add(but[2]); + panelSub2.add(but[3]); + panelSub2.add(Box.createHorizontalStrut(15)); + panelSub2.add(butAdd); + panelSub2.add(butMinus); + panel.add(panelSub2); + + panelSub3.add(but[4]); + panelSub3.add(but[5]); + panelSub3.add(but[6]); + panelSub3.add(Box.createHorizontalStrut(15)); + panelSub3.add(butMultiply); + panelSub3.add(butDivide); + panel.add(panelSub3); + + panelSub4.add(but[7]); + panelSub4.add(but[8]); + panelSub4.add(but[9]); + panelSub4.add(Box.createHorizontalStrut(15)); + panelSub4.add(butEqual); + panelSub4.add(butCancel); + panel.add(panelSub4); + + panelSub5.add(but[0]); + panelSub5.add(Box.createHorizontalStrut(210)); + panel.add(panelSub5); + + panelSub6.add(butSquare); + panelSub6.add(butSquareRoot); + panelSub6.add(butOneDevidedBy); + panelSub6.add(butxpowerofy); + panel.add(panelSub6); + + panelSub7.add(butCos); + panelSub7.add(butSin); + panelSub7.add(butTan); + panel.add(panelSub7); + + panelSub8.add(butlog); + panelSub8.add(butrate); + panelSub8.add(butabs); + panelSub8.add(butBinary); + panel.add(panelSub8); + + but[0].addActionListener(this); + for (int i = 1; i < 10; i++) { + but[i].addActionListener(this); + } + butAdd.addActionListener(this); + butMinus.addActionListener(this); + butMultiply.addActionListener(this); + butDivide.addActionListener(this); + butSquare.addActionListener(this); + butSquareRoot.addActionListener(this); + butOneDevidedBy.addActionListener(this); + butCos.addActionListener(this); + butSin.addActionListener(this); + butTan.addActionListener(this); + butxpowerofy.addActionListener(this); + butlog.addActionListener(this); + butrate.addActionListener(this); + butabs.addActionListener(this); + butBinary.addActionListener(this); + + butEqual.addActionListener(this); + butCancel.addActionListener(this); + + frame.add(panel); + } + + @Override + public void actionPerformed(ActionEvent e) { + final Object source = e.getSource(); + + for (int i = 0; i < 10; i++) { + if (source == but[i]) { + text.replaceSelection(buttonValue[i]); + return; } - - if (source == butEqual) { - writer(calc.calculateEqual(reader())); - } - - if (source == butCancel) { - writer(calc.reset()); - } - - if (source == butBinary) { - parsetoBinary(); - } - - text.selectAll(); - } - - private void parsetoBinary() { - try { - text.setText("" + Long.toBinaryString(Long.parseLong(text.getText()))); - } catch (NumberFormatException ex) { - System.err.println("Error while parse to binary." + ex.toString()); - } - } - - public Double reader() { - Double num; - String str; - str = text.getText(); - num = Double.valueOf(str); - - return num; - } - - public void writer(final Double num) { - if (Double.isNaN(num)) { - text.setText(""); - } else { - text.setText(Double.toString(num)); - } - } + } + + if (source == butAdd) { + writer(calc.calculateBi(Calculator.BiOperatorModes.add, reader())); + } + + if (source == butMinus) { + writer(calc.calculateBi(Calculator.BiOperatorModes.minus, reader())); + } + + if (source == butMultiply) { + writer(calc.calculateBi(Calculator.BiOperatorModes.multiply, + reader())); + } + + if (source == butDivide) { + writer(calc + .calculateBi(Calculator.BiOperatorModes.divide, reader())); + } + if (source == butxpowerofy) { + writer(calc + .calculateBi(Calculator.BiOperatorModes.xpowerofy, reader())); + } + + if (source == butSquare) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.square, + reader())); + } + + if (source == butSquareRoot) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.squareRoot, + reader())); + } + + if (source == butOneDevidedBy) { + writer(calc.calculateMono( + Calculator.MonoOperatorModes.oneDevidedBy, reader())); + } + + if (source == butCos) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.cos, + reader())); + } + + if (source == butSin) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.sin, + reader())); + } + + if (source == butTan) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.tan, + reader())); + } + if (source == butlog) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.log, + reader())); + } + if (source == butrate) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.rate, + reader())); + } + if(source == butabs){ + writer(calc.calculateMono(Calculator.MonoOperatorModes.abs, reader())); + } + + if (source == butEqual) { + writer(calc.calculateEqual(reader())); + } + + if (source == butCancel) { + writer(calc.reset()); + } + + if (source == butBinary) { + parsetoBinary(); + } + + text.selectAll(); + } + + private void parsetoBinary() { + try { + text.setText("" + Long.toBinaryString(Long.parseLong(text.getText()))); + } catch (NumberFormatException ex) { + System.err.println("Error while parse to binary." + ex.toString()); + } + } + + public Double reader() { + Double num; + String str; + str = text.getText(); + num = Double.valueOf(str); + + return num; + } + + public void writer(final Double num) { + if (Double.isNaN(num)) { + text.setText(""); + } else { + text.setText(Double.toString(num)); + } + } } From fe55e543c964b9eb0728cc6c1a04d0693019883f Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Mon, 3 Feb 2020 11:41:24 +0800 Subject: [PATCH 3/9] Create temp --- icon/temp | 1 + 1 file changed, 1 insertion(+) create mode 100644 icon/temp diff --git a/icon/temp b/icon/temp new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/icon/temp @@ -0,0 +1 @@ + From 408f271e86eacce580be93a0597305082cb74dd6 Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Sun, 2 Feb 2020 19:41:51 -0800 Subject: [PATCH 4/9] Add files via upload --- icon/icon.png | Bin 0 -> 3466 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon/icon.png diff --git a/icon/icon.png b/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..527af6f4ebce04e08b41ec581c990593199719e7 GIT binary patch literal 3466 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 Wh5FTn{T2KnhZyM-^eT0T5&r|jn%gn} literal 0 HcmV?d00001 From 1e9ca6e3ad8f2f6562433f967d76c7725a7db281 Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Mon, 3 Feb 2020 11:57:38 +0800 Subject: [PATCH 5/9] Create icon-notice.txt --- icon/icon-notice.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 icon/icon-notice.txt diff --git a/icon/icon-notice.txt b/icon/icon-notice.txt new file mode 100644 index 0000000..d2577c2 --- /dev/null +++ b/icon/icon-notice.txt @@ -0,0 +1 @@ +`icon.png`, all rights reserved by xdvrx1 From 661f9543a0d5bda58afc76fbe85bba922232246d Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Mon, 3 Feb 2020 11:58:21 +0800 Subject: [PATCH 6/9] Delete temp --- icon/temp | 1 - 1 file changed, 1 deletion(-) delete mode 100644 icon/temp diff --git a/icon/temp b/icon/temp deleted file mode 100644 index 8b13789..0000000 --- a/icon/temp +++ /dev/null @@ -1 +0,0 @@ - From fb15b22c23e8e20c8a5a05086685aa180e9b3e27 Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Mon, 3 Feb 2020 12:57:44 +0800 Subject: [PATCH 7/9] Square Root Symbol Sometimes, the symbol of square root is not returning correctly. So, to be sure, I replaced that with `sqrt`. --- src/simplejavacalculator/UI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 9dd7539..ffde562 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -91,7 +91,7 @@ public UI() { butMultiply = new JButton("*"); butDivide = new JButton("/"); butEqual = new JButton("="); - butSquareRoot = new JButton("√"); + butSquareRoot = new JButton("sqrt"); butSquare = new JButton("x*x"); butOneDevidedBy = new JButton("1/x"); butCos = new JButton("Cos"); From a23d17b6186f0612166c32ff6ed47173cb16b48d Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Tue, 4 Feb 2020 06:01:00 +0800 Subject: [PATCH 8/9] Update UI.java --- src/simplejavacalculator/UI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index ffde562..b7a2633 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -66,7 +66,7 @@ public UI() { image = new ImageIcon("icon/icon.png"); panel = new JPanel(); - panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS)); + panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panelSub1 = new JPanel(new FlowLayout()); panelSub2 = new JPanel(new FlowLayout()); panelSub3 = new JPanel(new FlowLayout()); From de7ffeda7f3b446a845549daa63112feeb0aefa2 Mon Sep 17 00:00:00 2001 From: xdvrx1 Date: Tue, 4 Feb 2020 06:21:21 +0800 Subject: [PATCH 9/9] Delete SimpleJavaCalculator.jar --- SimpleJavaCalculator.jar | Bin 9940 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 SimpleJavaCalculator.jar diff --git a/SimpleJavaCalculator.jar b/SimpleJavaCalculator.jar deleted file mode 100644 index 23f533713803aca20e3497cde2def899b7e63c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9940 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 A)&Kwi