/*
* $Id$
*
* Copyright 2013 Valentyn Kolesnikov
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.other.calc;
import java.awt.Window;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
import java.math.BigDecimal;
import javax.swing.JDialog;
import javax.swing.JFrame;
import org.ripple.power.i18n.LangConfig;
import org.ripple.power.ui.RPAccountInfoDialog;
import org.ripple.power.ui.UIRes;
import org.ripple.power.utils.BigUtils;
/**
* Java swing calculator.
*
* @author Valentyn Kolesnikov
* @version $Revision$ $Date$
*/
public class Calc extends javax.swing.JDialog {
/**
*
*/
private static final long serialVersionUID = 1L;
private BigDecimal currentValue = BigDecimal.ZERO;
private BigDecimal savedValue = BigDecimal.ZERO;
private boolean initValue = true;
private boolean doInitValue = true;
private char commandCode = '=';
BigDecimal memoryValue = BigDecimal.ZERO;
private String text;
private String topText = "";
private final String template = "<html>" + " <head>" + " </head>"
+ " <body>"
+ " <p style=\"text-align:right;font-size:10px;margin-top: 0\">"
+ " %s" + " </p>"
+ " <p style=\"text-align:right;font-size:14px;margin-top: 0\">"
+ " %s" + " </p>" + " </body>" + "</html>";
/** Creates new form Calc */
public Calc(Window win) {
super(win);
initComponents();
setIconImage(UIRes.getImage("icons/calc.png").getImage());
jPanel1.setVisible(false);
setSize(new java.awt.Dimension(jPanel1.getWidth() - 10, getHeight()));
final java.awt.Dimension screenSize = java.awt.Toolkit
.getDefaultToolkit().getScreenSize();
final int x = (screenSize.width - getWidth()) / 2;
final int y = (screenSize.height - getHeight()) / 2;
setLocation(x, y);
initCalc();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed"
// desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
jButton7 = new javax.swing.JButton();
jButton8 = new javax.swing.JButton();
jButton9 = new javax.swing.JButton();
jButton10 = new javax.swing.JButton();
jButton11 = new javax.swing.JButton();
jButton12 = new javax.swing.JButton();
jButton13 = new javax.swing.JButton();
jButton14 = new javax.swing.JButton();
jButton15 = new javax.swing.JButton();
jButton16 = new javax.swing.JButton();
jButton17 = new javax.swing.JButton();
jButton18 = new javax.swing.JButton();
jButton19 = new javax.swing.JButton();
jButton21 = new javax.swing.JButton();
jButton22 = new javax.swing.JButton();
jButton23 = new javax.swing.JButton();
jButton24 = new javax.swing.JButton();
jButton25 = new javax.swing.JButton();
jButton26 = new javax.swing.JButton();
jButton27 = new javax.swing.JButton();
jButton28 = new javax.swing.JButton();
jButton29 = new javax.swing.JButton();
jButton20 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTextField1 = new javax.swing.JTextPane();
jScrollPane1
.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
jPanel1 = new javax.swing.JPanel();
jButton36 = new javax.swing.JButton();
jButton37 = new javax.swing.JButton();
jButton35 = new javax.swing.JButton();
jButton42 = new javax.swing.JButton();
jButton41 = new javax.swing.JButton();
jButton40 = new javax.swing.JButton();
jButton39 = new javax.swing.JButton();
jButton38 = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
jRadioButton4 = new javax.swing.JRadioButton();
jRadioButton5 = new javax.swing.JRadioButton();
jRadioButton6 = new javax.swing.JRadioButton();
jButton43 = new javax.swing.JButton();
jButton44 = new javax.swing.JButton();
jButton45 = new javax.swing.JButton();
jButton46 = new javax.swing.JButton();
jButton47 = new javax.swing.JButton();
jButton48 = new javax.swing.JButton();
jButton49 = new javax.swing.JButton();
jButton50 = new javax.swing.JButton();
jButton51 = new javax.swing.JButton();
jButton52 = new javax.swing.JButton();
jButton53 = new javax.swing.JButton();
jButton54 = new javax.swing.JButton();
jButton55 = new javax.swing.JButton();
jButton56 = new javax.swing.JButton();
jButton57 = new javax.swing.JButton();
jButton58 = new javax.swing.JButton();
jButton59 = new javax.swing.JButton();
jMenuBar2 = new javax.swing.JMenuBar();
jMenu3 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem5 = new javax.swing.JMenuItem();
jMenu4 = new javax.swing.JMenu();
jMenuItem2 = new javax.swing.JMenuItem();
jMenuItem3 = new javax.swing.JMenuItem();
setTitle(LangConfig.get(this, "calc", "Calc"));
setResizable(false);
addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
formKeyPressed(evt);
}
public void keyTyped(java.awt.event.KeyEvent evt) {
formKeyTyped(evt);
}
});
jButton2.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton2.setText("MR");
jButton2.setFocusable(false);
jButton2.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton3.setText("MS");
jButton3.setFocusable(false);
jButton3.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jButton4.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton4.setText("M+");
jButton4.setFocusable(false);
jButton4.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jButton5.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton5.setText("M-");
jButton5.setFocusable(false);
jButton5.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jButton6.setText("←");
jButton6.setFocusable(false);
jButton6.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
jButton7.setText("CE");
jButton7.setFocusable(false);
jButton7.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton7ActionPerformed(evt);
}
});
jButton8.setText("C");
jButton8.setFocusable(false);
jButton8.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
}
});
jButton9.setText("±");
jButton9.setFocusable(false);
jButton9.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton9ActionPerformed(evt);
}
});
jButton10.setText("√");
jButton10.setFocusable(false);
jButton10.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton10.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton10ActionPerformed(evt);
}
});
jButton11.setText("7");
jButton11.setFocusable(false);
jButton11.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton11.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton11ActionPerformed(evt);
}
});
jButton12.setText("8");
jButton12.setFocusable(false);
jButton12.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton12.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton12ActionPerformed(evt);
}
});
jButton13.setText("9");
jButton13.setFocusable(false);
jButton13.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton13.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton13ActionPerformed(evt);
}
});
jButton14.setText("/");
jButton14.setFocusable(false);
jButton14.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton14.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton14ActionPerformed(evt);
}
});
jButton15.setText("%");
jButton15.setFocusable(false);
jButton15.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton15.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton15ActionPerformed(evt);
}
});
jButton16.setText("4");
jButton16.setFocusable(false);
jButton16.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton16.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton16ActionPerformed(evt);
}
});
jButton17.setText("5");
jButton17.setFocusable(false);
jButton17.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton17.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton17ActionPerformed(evt);
}
});
jButton18.setText("6");
jButton18.setFocusable(false);
jButton18.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton18.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton18ActionPerformed(evt);
}
});
jButton19.setText("*");
jButton19.setFocusable(false);
jButton19.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton19.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton19ActionPerformed(evt);
}
});
jButton21.setText("1");
jButton21.setFocusable(false);
jButton21.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton21.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton21ActionPerformed(evt);
}
});
jButton22.setText("2");
jButton22.setFocusable(false);
jButton22.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton22.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton22ActionPerformed(evt);
}
});
jButton23.setText("3");
jButton23.setFocusable(false);
jButton23.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton23.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton23ActionPerformed(evt);
}
});
jButton24.setText("-");
jButton24.setFocusable(false);
jButton24.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton24.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton24ActionPerformed(evt);
}
});
jButton25.setText("=");
jButton25.setFocusable(false);
jButton25.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton25.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton25ActionPerformed(evt);
}
});
jButton26.setText("0");
jButton26.setFocusable(false);
jButton26.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton26.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton26ActionPerformed(evt);
}
});
jButton27.setText(",");
jButton27.setFocusable(false);
jButton27.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton27.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton27ActionPerformed(evt);
}
});
jButton28.setText("+");
jButton28.setFocusable(false);
jButton28.setMargin(new java.awt.Insets(2, 2, 2, 2));
jButton28.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton28ActionPerformed(evt);
}
});
jButton29.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton29.setText("MC");
jButton29.setFocusable(false);
jButton29.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton29.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton29ActionPerformed(evt);
}
});
jButton20.setText("1/x");
jButton20.setFocusable(false);
jButton20.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton20.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton20ActionPerformed(evt);
}
});
jTextField1.setContentType("text/html"); // NOI18N
jTextField1.setEditable(false);
jTextField1.setFont(new java.awt.Font("Tahoma", 0, 20)); // NOI18N
jTextField1
.setText("<html>\r\n <head>\r\n\r </head>\r\n <body>\r\n <p style=\"text-align:right;font-size:10px;margin-top: 0\">\r\n </p>\r\n <p style=\"text-align:right;font-size:16px;margin-top: 0\">\n 0\n </p>\n </body>\r\n</html>\r\n");
jTextField1.setDisabledTextColor(new java.awt.Color(0, 0, 0));
jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jTextField1KeyPressed(evt);
}
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField1KeyTyped(evt);
}
});
jScrollPane1.setViewportView(jTextField1);
jPanel1.setFocusable(false);
jButton36.setText("sin");
jButton36.setFocusable(false);
jButton36.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton36.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton36ActionPerformed(evt);
}
});
jButton37.setText("X²");
jButton37.setFocusable(false);
jButton37.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton37.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton37ActionPerformed(evt);
}
});
jButton35.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton35.setText("sinh");
jButton35.setFocusable(false);
jButton35.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton42.setText("Xª");
jButton42.setFocusable(false);
jButton42.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton42.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton42ActionPerformed(evt);
}
});
jButton41.setText("cos");
jButton41.setFocusable(false);
jButton41.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton41.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton41ActionPerformed(evt);
}
});
jButton40.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton40.setText("cosh");
jButton40.setFocusable(false);
jButton40.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton39.setText("dms");
jButton39.setFocusable(false);
jButton39.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton38.setText("n!");
jButton38.setFocusable(false);
jButton38.setMargin(new java.awt.Insets(2, 0, 2, 0));
jPanel2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(
153, 153, 153), 1, true));
jPanel2.setPreferredSize(new java.awt.Dimension(254, 25));
buttonGroup1.add(jRadioButton4);
jRadioButton4.setMnemonic('d');
jRadioButton4.setSelected(true);
jRadioButton4.setText("Degrees");
jRadioButton4.setFocusable(false);
buttonGroup1.add(jRadioButton5);
jRadioButton5.setMnemonic('r');
jRadioButton5.setText("Radians");
jRadioButton5.setFocusable(false);
buttonGroup1.add(jRadioButton6);
jRadioButton6.setMnemonic('g');
jRadioButton6.setText("Grads");
jRadioButton6.setFocusable(false);
org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(
jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING).add(
jPanel2Layout
.createSequentialGroup()
.add(19, 19, 19)
.add(jRadioButton4)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jRadioButton5)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jRadioButton6)
.addContainerGap(51, Short.MAX_VALUE)));
jPanel2Layout
.setVerticalGroup(jPanel2Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout
.createSequentialGroup()
.add(jPanel2Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jRadioButton4).add(jRadioButton5)
.add(jRadioButton6))
.add(0, 4, Short.MAX_VALUE)));
jButton43.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton43.setText("ª√X");
jButton43.setFocusable(false);
jButton43.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton43.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton43ActionPerformed(evt);
}
});
jButton44.setText("π");
jButton44.setFocusable(false);
jButton44.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton44.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton44ActionPerformed(evt);
}
});
jButton45.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton45.setText("tanh");
jButton45.setFocusable(false);
jButton45.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton45.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton45ActionPerformed(evt);
}
});
jButton46.setText("tan");
jButton46.setFocusable(false);
jButton46.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton46.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton46ActionPerformed(evt);
}
});
jButton47.setText("X³");
jButton47.setFocusable(false);
jButton47.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton47.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton47ActionPerformed(evt);
}
});
jButton48.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jButton48.setText("³√X");
jButton48.setFocusable(false);
jButton48.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton48.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton48ActionPerformed(evt);
}
});
jButton49.setText(" ");
jButton49.setEnabled(false);
jButton49.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton50.setText("Inv");
jButton50.setFocusable(false);
jButton50.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton50.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton50ActionPerformed(evt);
}
});
jButton51.setText("ln");
jButton51.setFocusable(false);
jButton51.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton51.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton51ActionPerformed(evt);
}
});
jButton52.setText("(");
jButton52.setFocusable(false);
jButton52.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton53.setText(")");
jButton53.setFocusable(false);
jButton53.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton54.setText("Int");
jButton54.setFocusable(false);
jButton54.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton55.setText("F-E");
jButton55.setFocusable(false);
jButton55.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton55.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton55ActionPerformed(evt);
}
});
jButton56.setText("Exp");
jButton56.setFocusable(false);
jButton56.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton56.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton56ActionPerformed(evt);
}
});
jButton57.setText("Mod");
jButton57.setFocusable(false);
jButton57.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton57.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton57ActionPerformed(evt);
}
});
jButton58.setText("log");
jButton58.setFocusable(false);
jButton58.setMargin(new java.awt.Insets(2, 0, 2, 0));
jButton58.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton58ActionPerformed(evt);
}
});
jButton59.setText("10ª");
jButton59.setFocusable(false);
jButton59.setMargin(new java.awt.Insets(2, -1, 2, -1));
jButton59.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton59ActionPerformed(evt);
}
});
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(
jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout
.setHorizontalGroup(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout
.createSequentialGroup()
.addContainerGap()
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout
.createSequentialGroup()
.add(jButton49,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton50,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton51,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton52,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton53,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(jPanel1Layout
.createSequentialGroup()
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(jButton54,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jButton39,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jButton44,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(org.jdesktop.layout.GroupLayout.TRAILING,
jButton55,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING,
false)
.add(jPanel1Layout
.createSequentialGroup()
.add(jButton56,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton57,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton58,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.add(jButton59,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(jPanel1Layout
.createSequentialGroup()
.add(jButton35,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton36,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton37,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton38,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(jPanel1Layout
.createSequentialGroup()
.add(jButton40,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton41,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton42,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(jPanel1Layout
.createSequentialGroup()
.add(jButton45,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton47,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton48,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
.add(jPanel2,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
253,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addContainerGap()));
jPanel1Layout
.setVerticalGroup(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout
.createSequentialGroup()
.add(jPanel2,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
29,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton49).add(jButton50)
.add(jButton51).add(jButton52)
.add(jButton53))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout
.createSequentialGroup()
.add(jButton54)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton39)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton44))
.add(jPanel1Layout
.createSequentialGroup()
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton35)
.add(jButton36)
.add(jButton37)
.add(jButton38))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton40)
.add(jButton41)
.add(jButton42)
.add(jButton43))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton45)
.add(jButton46)
.add(jButton47)
.add(jButton48))))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.add(jPanel1Layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton55).add(jButton56)
.add(jButton57).add(jButton58)
.add(jButton59))));
jMenu3.setMnemonic('V');
jMenu3.setText("View");
jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_1,
java.awt.event.InputEvent.ALT_MASK));
jMenuItem1.setText("Standard");
jMenuItem1.setSelected(true);
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu3.add(jMenuItem1);
jMenuItem5.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_2,
java.awt.event.InputEvent.ALT_MASK));
jMenuItem5.setText("Scientific");
jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem5ActionPerformed(evt);
}
});
jMenu3.add(jMenuItem5);
jMenuBar2.add(jMenu3);
jMenu4.setMnemonic('E');
jMenu4.setText("Edit");
jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_C,
java.awt.event.InputEvent.CTRL_MASK));
jMenuItem2.setText("Copy");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenu4.add(jMenuItem2);
jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_V,
java.awt.event.InputEvent.CTRL_MASK));
jMenuItem3.setText("Paste");
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem3ActionPerformed(evt);
}
});
jMenu4.add(jMenuItem3);
jMenuBar2.add(jMenu4);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout
.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout
.createSequentialGroup()
.addContainerGap()
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(jScrollPane1)
.add(layout
.createSequentialGroup()
.add(jPanel1,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
270,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(layout
.createSequentialGroup()
.add(jButton29,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton2,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton3,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton4,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton5,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(layout
.createSequentialGroup()
.add(jButton6,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton7,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton8,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton9,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton10,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(layout
.createSequentialGroup()
.add(jButton11,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton12,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton13,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton14,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton15,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(layout
.createSequentialGroup()
.add(jButton16,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton17,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton18,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton19,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton20,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(layout
.createSequentialGroup()
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.TRAILING,
false)
.add(layout
.createSequentialGroup()
.add(jButton21,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton22,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(6,
6,
6))
.add(layout
.createSequentialGroup()
.add(jButton26,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)))
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.TRAILING)
.add(jButton23,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jButton27,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.TRAILING)
.add(jButton24,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jButton28,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton25,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
43,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap()));
layout.setVerticalGroup(layout
.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout
.createSequentialGroup()
.addContainerGap()
.add(jScrollPane1,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
46,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(layout
.createSequentialGroup()
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton2).add(jButton3)
.add(jButton4).add(jButton5)
.add(jButton29))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton6).add(jButton7)
.add(jButton8).add(jButton9)
.add(jButton10))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton11).add(jButton12)
.add(jButton13).add(jButton14)
.add(jButton15))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton16).add(jButton17)
.add(jButton18).add(jButton19)
.add(jButton20))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(layout
.createSequentialGroup()
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton24)
.add(jButton23)
.add(jButton22)
.add(jButton21))
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton28)
.add(jButton27)
.add(jButton26)))
.add(jButton25,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)))
.add(jPanel1,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)).addContainerGap()));
pack();
}// </editor-fold>//GEN-END:initComponents
private void setText(String text) {
this.text = text;
jTextField1.setText(String.format(template, topText, text));
}
private String getText() {
return text;
}
private void setTopText(String topText) {
this.topText += this.topText.equals("") ? topText : (" " + topText);
setText(getText());
}
private void addCalc(java.awt.event.ActionEvent evt) {
if (initValue) {
if (evt.getActionCommand().equals(",")) {
setText("0" + evt.getActionCommand());
} else {
setText(evt.getActionCommand());
}
} else {
setText(getText() + evt.getActionCommand());
}
if (commandCode == '=') {
savedValue = new BigDecimal(getText().replace(',', '.'));
currentValue = BigDecimal.ZERO;
} else {
currentValue = new BigDecimal(getText().replace(',', '.'));
}
initValue = false;
}
private void initCalc() {
currentValue = BigDecimal.ZERO;
savedValue = BigDecimal.ZERO;
initValue = true;
doInitValue = true;
commandCode = '=';
topText = "";
setText("0");
}
private void fCalc(String command) {
if ("ce".equals(command)) {
initCalc();
} else if ("=".equals(command)) {
if (commandCode != '=' && !initValue) {
BigDecimal value = new BigDecimal(getText().replace(',', '.'));
BigDecimal result = calcResult(value);
commandCode = '=';
this.topText = "";
setText(result.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("0+$", "").replaceFirst(",$", ""));
savedValue = result;
currentValue = BigDecimal.ZERO;
}
} else if ("+-".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
currentValue = currentValue.multiply(new BigDecimal("-1"));
setText(currentValue.toString().replace('.', ','));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = false;
} else if ("sqrt".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
try {
currentValue = BigUtils.sqrt(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("sqr".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = currentValue.pow(2);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("ln".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
try {
if (currentValue.compareTo(BigDecimal.ZERO) < 0
|| currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.ln(currentValue, 32);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("log".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
try {
if (currentValue.compareTo(BigDecimal.ZERO) < 0
|| currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.log10(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("sin".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
switch (buttonGroup1.getSelection().getMnemonic()) {
case 'D':
currentValue = currentValue.multiply(BigUtils.PI_DIV_180);
break;
case 'G':
currentValue = currentValue.multiply(BigUtils.PI_DIV_200);
break;
default:
break;
}
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.sine(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("cos".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
switch (buttonGroup1.getSelection().getMnemonic()) {
case 'D':
currentValue = currentValue.multiply(BigUtils.PI_DIV_180);
break;
case 'G':
currentValue = currentValue.multiply(BigUtils.PI_DIV_200);
break;
default:
break;
}
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.cosine(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("tan".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
switch (buttonGroup1.getSelection().getMnemonic()) {
case 'D':
currentValue = currentValue.multiply(BigUtils.PI_DIV_180);
break;
case 'G':
currentValue = currentValue.multiply(BigUtils.PI_DIV_200);
break;
default:
break;
}
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.tangent(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("cube".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = currentValue.pow(3);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("cuberoot".equals(command)) {
currentValue = savedValue == BigDecimal.ZERO ? new BigDecimal(
getText().replace(',', '.')) : savedValue;
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.cuberoot(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("pow".equals(command)) {
if (commandCode != '=' && !initValue) {
BigDecimal value = new BigDecimal(getText().replace(',', '.'));
BigDecimal result = BigUtils.pow(savedValue, value);
setText(result.toString().replace('.', ','));
savedValue = result;
currentValue = BigDecimal.ZERO;
}
commandCode = '^';
setText(getText() + " " + commandCode);
} else if ("yroot".equals(command)) {
if (commandCode != '=' && !initValue) {
BigDecimal value = new BigDecimal(getText().replace(',', '.'));
BigDecimal result = BigUtils.pow(savedValue, BigDecimal.ONE
.divide(value, 32, BigDecimal.ROUND_HALF_UP));
setText(result.toString().replace('.', ','));
savedValue = result;
currentValue = BigDecimal.ZERO;
}
commandCode = 'r';
setTopText(getText() + " " + commandCode);
} else if ("arcsin".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.asin(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
switch (buttonGroup1.getSelection().getMnemonic()) {
case 'D':
currentValue = currentValue.divide(BigUtils.PI_DIV_180, 32,
BigDecimal.ROUND_HALF_UP);
break;
case 'G':
currentValue = currentValue.divide(BigUtils.PI_DIV_200, 32,
BigDecimal.ROUND_HALF_UP);
break;
default:
break;
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("arccos".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.acos(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
switch (buttonGroup1.getSelection().getMnemonic()) {
case 'D':
currentValue = currentValue.divide(BigUtils.PI_DIV_180, 32,
BigDecimal.ROUND_HALF_UP);
break;
case 'G':
currentValue = currentValue.divide(BigUtils.PI_DIV_200, 32,
BigDecimal.ROUND_HALF_UP);
break;
default:
break;
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("arctan".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
try {
if (currentValue.toBigInteger().toString().length() > 256) {
initCalc();
setText("Error.");
return;
}
currentValue = BigUtils.atan(currentValue);
} catch (ArithmeticException ex) {
ex.getMessage();
}
switch (buttonGroup1.getSelection().getMnemonic()) {
case 'D':
currentValue = currentValue.divide(BigUtils.PI_DIV_180, 32,
BigDecimal.ROUND_HALF_UP);
break;
case 'G':
currentValue = currentValue.divide(BigUtils.PI_DIV_200, 32,
BigDecimal.ROUND_HALF_UP);
break;
default:
break;
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("nbs".equals(command)) {
if (!initValue && getText().matches("[\\d,]+")) {
if (getText().length() == 1) {
setText("0");
initValue = true;
} else {
setText(getText().substring(0, getText().length() - 1));
}
if (commandCode == '=') {
savedValue = new BigDecimal(getText().replace(',', '.'));
} else {
currentValue = new BigDecimal(getText().replace(',', '.'));
}
return;
}
} else if ("+".equals(command)) {
String saveText = getText();
if (commandCode != '=' && !initValue) {
BigDecimal value = new BigDecimal(getText().replace(',', '.'));
BigDecimal result = calcResult(value);
setText(result.toString().replace('.', ','));
savedValue = result;
currentValue = BigDecimal.ZERO;
}
commandCode = '+';
setTopText(saveText + " " + commandCode);
} else if ("-".equals(command)) {
String saveText = getText();
if (commandCode != '=' && !initValue) {
BigDecimal value = new BigDecimal(getText().replace(',', '.'));
BigDecimal result = calcResult(value);
setText(result.toString().replace('.', ','));
savedValue = result;
currentValue = BigDecimal.ZERO;
}
commandCode = '-';
setTopText(saveText + " " + commandCode);
} else if ("*".equals(command)) {
String saveText = getText();
if (commandCode != '=' && !initValue) {
BigDecimal value = new BigDecimal(getText().replace(',', '.'));
BigDecimal result = calcResult(value);
setText(result.toString().replace('.', ','));
savedValue = result;
currentValue = BigDecimal.ZERO;
}
commandCode = '*';
setTopText(saveText + " " + commandCode);
} else if ("/".equals(command)) {
String saveText = getText();
if (commandCode != '=' && !initValue) {
BigDecimal value = new BigDecimal(getText().replace(',', '.'));
BigDecimal result = calcResult(value);
setText(result.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
savedValue = result;
currentValue = BigDecimal.ZERO;
}
commandCode = '/';
setTopText(saveText + " " + commandCode);
} else if ("1/x".equals(command)) {
currentValue = savedValue == BigDecimal.ZERO ? new BigDecimal(
getText().replace(',', '.')) : savedValue;
try {
currentValue = BigDecimal.ONE.divide(currentValue, 32,
BigDecimal.ROUND_HALF_UP);
} catch (ArithmeticException ex) {
ex.getMessage();
}
setText(currentValue.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
if (commandCode == '=') {
savedValue = currentValue;
currentValue = BigDecimal.ZERO;
}
doInitValue = true;
} else if ("%".equals(command)) {
if (commandCode != '=' && !initValue) {
BigDecimal value = new BigDecimal(getText().replace(',', '.'));
BigDecimal result = savedValue.multiply(value).divide(
BigDecimal.valueOf(100), 32, BigDecimal.ROUND_HALF_UP);
setText(result.setScale(16, BigDecimal.ROUND_HALF_UP)
.toPlainString().replace('.', ',')
.replaceFirst("(.+?)0+$", "$1").replaceFirst(",$", ""));
currentValue = result;
return;
}
} else if ("MC".equals(command)) {
memoryValue = BigDecimal.ZERO;
doInitValue = true;
} else if ("MR".equals(command)) {
setText(memoryValue.toPlainString().replace('.', ','));
if (commandCode == '=') {
savedValue = memoryValue;
currentValue = BigDecimal.ZERO;
doInitValue = true;
} else {
currentValue = memoryValue;
doInitValue = false;
initValue = false;
}
} else if ("MS".equals(command)) {
memoryValue = new BigDecimal(getText().replace(',', '.'));
doInitValue = true;
} else if ("M+".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
memoryValue = memoryValue.add(currentValue);
doInitValue = true;
} else if ("M-".equals(command)) {
currentValue = new BigDecimal(getText().replace(',', '.'));
memoryValue = memoryValue.subtract(currentValue);
doInitValue = true;
}
if (doInitValue) {
initValue = true;
} else {
doInitValue = true;
}
}
private void keyDetect(java.awt.event.ActionEvent evt) {
if (evt.getActionCommand().charAt(0) >= '0'
&& evt.getActionCommand().charAt(0) <= '9') {
addCalc(evt);
} else if (evt.getActionCommand().charAt(0) == ',') {
if (initValue || !getText().contains(",")) {
addCalc(evt);
}
} else if (evt.getActionCommand().charAt(0) == '\u2190') {
fCalc("nbs");
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton2ActionPerformed
fCalc("MR");
}// GEN-LAST:event_jButton2ActionPerformed
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton3ActionPerformed
fCalc("MS");
}// GEN-LAST:event_jButton3ActionPerformed
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton4ActionPerformed
fCalc("M+");
}// GEN-LAST:event_jButton4ActionPerformed
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton5ActionPerformed
fCalc("M-");
}// GEN-LAST:event_jButton5ActionPerformed
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton6ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton6ActionPerformed
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton7ActionPerformed
fCalc("ce");
}// GEN-LAST:event_jButton7ActionPerformed
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton8ActionPerformed
fCalc("ce");
}// GEN-LAST:event_jButton8ActionPerformed
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton9ActionPerformed
fCalc("+-");
}// GEN-LAST:event_jButton9ActionPerformed
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton10ActionPerformed
fCalc("sqrt");
}// GEN-LAST:event_jButton10ActionPerformed
private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton11ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton11ActionPerformed
private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton12ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton12ActionPerformed
private void jButton13ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton13ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton13ActionPerformed
private void jButton14ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton14ActionPerformed
fCalc("/");
}// GEN-LAST:event_jButton14ActionPerformed
private void jButton15ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton15ActionPerformed
fCalc("%");
}// GEN-LAST:event_jButton15ActionPerformed
private void jButton16ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton16ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton16ActionPerformed
private void jButton17ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton17ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton17ActionPerformed
private void jButton18ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton18ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton18ActionPerformed
private void jButton19ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton19ActionPerformed
fCalc("*");
}// GEN-LAST:event_jButton19ActionPerformed
private void jButton21ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton21ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton21ActionPerformed
private void jButton22ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton22ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton22ActionPerformed
private void jButton23ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton23ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton23ActionPerformed
private void jButton24ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton24ActionPerformed
fCalc("-");
}// GEN-LAST:event_jButton24ActionPerformed
private void jButton26ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton26ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton26ActionPerformed
private void jButton27ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton27ActionPerformed
keyDetect(evt);
}// GEN-LAST:event_jButton27ActionPerformed
private void jButton28ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton28ActionPerformed
fCalc("+");
}// GEN-LAST:event_jButton28ActionPerformed
private void jButton25ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton25ActionPerformed
fCalc("=");
}
// TODO add your handling code
// here:}//GEN-LAST:event_jButton25ActionPerformed
private void jButton29ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton29ActionPerformed
fCalc("MC");
}// GEN-LAST:event_jButton29ActionPerformed
private void formKeyPressed(java.awt.event.KeyEvent evt) {// GEN-FIRST:event_formKeyPressed
// TODO add your handling code here:
}// GEN-LAST:event_formKeyPressed
private void formKeyTyped(java.awt.event.KeyEvent evt) {// GEN-FIRST:event_formKeyTyped
// TODO add your handling code here:
}// GEN-LAST:event_formKeyTyped
private void jButton20ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton20ActionPerformed
fCalc("1/x");
}// GEN-LAST:event_jButton20ActionPerformed
private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {// GEN-FIRST:event_jTextField1KeyTyped
if (evt.getKeyChar() == '+' || evt.getKeyChar() == '-'
|| evt.getKeyChar() == '*' || evt.getKeyChar() == '/'
|| evt.getKeyChar() == '=' || evt.getKeyChar() == '%') {
fCalc("" + evt.getKeyChar());
} else if (evt.getKeyChar() == '\b') {
fCalc("nbs");
} else if (evt.getKeyChar() == '\n') {
fCalc("=");
} else {
java.awt.event.ActionEvent actionEvent = new java.awt.event.ActionEvent(
this, 0, "" + evt.getKeyChar());
if (evt.getKeyChar() == '.') {
actionEvent = new java.awt.event.ActionEvent(this, 0, ",");
}
keyDetect(actionEvent);
}
}// GEN-LAST:event_jTextField1KeyTyped
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem2ActionPerformed
java.awt.datatransfer.StringSelection data = new java.awt.datatransfer.StringSelection(
getText());
getToolkit().getSystemClipboard().setContents(data, data);
}// GEN-LAST:event_jMenuItem2ActionPerformed
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem3ActionPerformed
try {
setText((String) getToolkit()
.getSystemClipboard()
.getContents(null)
.getTransferData(
java.awt.datatransfer.DataFlavor.stringFlavor));
savedValue = new BigDecimal(getText().replace(",", "."));
} catch (UnsupportedFlavorException ex) {
} catch (IOException ex) {
}
}// GEN-LAST:event_jMenuItem3ActionPerformed
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {// GEN-FIRST:event_jTextField1KeyPressed
if (evt.getKeyChar() == '\n' || evt.getKeyChar() == '\b') {
evt.consume();
}
}
private void jButton45ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton45ActionPerformed
// TODO add your handling code here:
}// GEN-LAST:event_jButton45ActionPerformed
private void jButton46ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton46ActionPerformed
fCalc(jButton50.isSelected() ? "arctan" : "tan");
}// GEN-LAST:event_jButton46ActionPerformed
private void jButton47ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton47ActionPerformed
fCalc("cube");
}// GEN-LAST:event_jButton47ActionPerformed
private void jButton48ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton48ActionPerformed
fCalc("cuberoot");
}// GEN-LAST:event_jButton48ActionPerformed
private void jButton44ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton44ActionPerformed
addCalc(new java.awt.event.ActionEvent(this, 1,
"3,1415926535897932384626433832795"));
}// GEN-LAST:event_jButton44ActionPerformed
private void jButton55ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton55ActionPerformed
// TODO add your handling code here:
}// GEN-LAST:event_jButton55ActionPerformed
private void jButton56ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton56ActionPerformed
// TODO add your handling code here:
}// GEN-LAST:event_jButton56ActionPerformed
private void jButton57ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton57ActionPerformed
// TODO add your handling code here:
}// GEN-LAST:event_jButton57ActionPerformed
private void jButton58ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton58ActionPerformed
fCalc("log");
}// GEN-LAST:event_jButton58ActionPerformed
private void jButton59ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton59ActionPerformed
// TODO add your handling code here:
}// GEN-LAST:event_jButton59ActionPerformed
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem5ActionPerformed
jPanel1.setVisible(true);
setSize(new java.awt.Dimension((int) jPanel1.getPreferredSize()
.getWidth() * 2 + 10, getHeight()));
setPreferredSize(new java.awt.Dimension((int) jPanel1
.getPreferredSize().getWidth() * 2 + 10, getHeight()));
// jTextField1.setSize(new java.awt.Dimension(jPanel1.getWidth() * 2,
// getHeight()));
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Calc.this.pack();
}
});
}// GEN-LAST:event_jMenuItem5ActionPerformed
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jMenuItem1ActionPerformed
jPanel1.setVisible(false);
setSize(new java.awt.Dimension((int) jPanel1.getPreferredSize()
.getWidth() - 7, getHeight()));
setPreferredSize(new java.awt.Dimension((int) jPanel1
.getPreferredSize().getWidth() - 7, getHeight()));
// jTextField1.setSize(new java.awt.Dimension(jPanel1.getWidth(),
// getHeight()));
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Calc.this.pack();
}
});
}// GEN-LAST:event_jMenuItem1ActionPerformed
private void jButton37ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton37ActionPerformed
fCalc("sqr");
}// GEN-LAST:event_jButton37ActionPerformed
private void jButton51ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton51ActionPerformed
fCalc("ln");
}// GEN-LAST:event_jButton51ActionPerformed
private void jButton36ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton36ActionPerformed
fCalc(jButton50.isSelected() ? "arcsin" : "sin");
}// GEN-LAST:event_jButton36ActionPerformed
private void jButton41ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton41ActionPerformed
fCalc(jButton50.isSelected() ? "arccos" : "cos");
}// GEN-LAST:event_jButton41ActionPerformed
private void jButton42ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton42ActionPerformed
fCalc("pow");
}// GEN-LAST:event_jButton42ActionPerformed
private void jButton43ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton43ActionPerformed
fCalc("yroot");
}// GEN-LAST:event_jButton43ActionPerformed
private void jButton50ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton50ActionPerformed
jButton50.setSelected(!jButton50.isSelected());
jButton36.setText(jButton50.isSelected() ? "sinˉ¹" : "sin");
jButton36.setFont(new java.awt.Font("Tahoma", 0,
jButton50.isSelected() ? 8 : 11));
jButton41.setText(jButton50.isSelected() ? "cosˉ¹" : "cos");
jButton41.setFont(new java.awt.Font("Tahoma", 0,
jButton50.isSelected() ? 8 : 11));
jButton46.setText(jButton50.isSelected() ? "tanˉ¹" : "tan");
jButton46.setFont(new java.awt.Font("Tahoma", 0,
jButton50.isSelected() ? 8 : 11));
}// GEN-LAST:event_jButton50ActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButton10;
private javax.swing.JButton jButton11;
private javax.swing.JButton jButton12;
private javax.swing.JButton jButton13;
private javax.swing.JButton jButton14;
private javax.swing.JButton jButton15;
private javax.swing.JButton jButton16;
private javax.swing.JButton jButton17;
private javax.swing.JButton jButton18;
private javax.swing.JButton jButton19;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton20;
private javax.swing.JButton jButton21;
private javax.swing.JButton jButton22;
private javax.swing.JButton jButton23;
private javax.swing.JButton jButton24;
private javax.swing.JButton jButton25;
private javax.swing.JButton jButton26;
private javax.swing.JButton jButton27;
private javax.swing.JButton jButton28;
private javax.swing.JButton jButton29;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton35;
private javax.swing.JButton jButton36;
private javax.swing.JButton jButton37;
private javax.swing.JButton jButton38;
private javax.swing.JButton jButton39;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton40;
private javax.swing.JButton jButton41;
private javax.swing.JButton jButton42;
private javax.swing.JButton jButton43;
private javax.swing.JButton jButton44;
private javax.swing.JButton jButton45;
private javax.swing.JButton jButton46;
private javax.swing.JButton jButton47;
private javax.swing.JButton jButton48;
private javax.swing.JButton jButton49;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton50;
private javax.swing.JButton jButton51;
private javax.swing.JButton jButton52;
private javax.swing.JButton jButton53;
private javax.swing.JButton jButton54;
private javax.swing.JButton jButton55;
private javax.swing.JButton jButton56;
private javax.swing.JButton jButton57;
private javax.swing.JButton jButton58;
private javax.swing.JButton jButton59;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JButton jButton9;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenu jMenu4;
private javax.swing.JMenuBar jMenuBar2;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JMenuItem jMenuItem5;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JRadioButton jRadioButton4;
private javax.swing.JRadioButton jRadioButton5;
private javax.swing.JRadioButton jRadioButton6;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextPane jTextField1;
// End of variables declaration//GEN-END:variables
private BigDecimal calcResult(BigDecimal value) {
BigDecimal result = BigDecimal.ZERO;
switch (commandCode) {
case '+':
result = savedValue.add(value);
break;
case '-':
result = savedValue.subtract(value);
break;
case '*':
result = savedValue.multiply(value);
break;
case '/':
try {
result = savedValue.divide(value, 32, BigDecimal.ROUND_HALF_UP);
} catch (ArithmeticException ex) {
initCalc();
setText("Error.");
return result;
}
break;
case '^':
try {
result = BigUtils.pow(savedValue, value);
} catch (ArithmeticException ex) {
initCalc();
setText("Error.");
return result;
}
break;
case 'r':
try {
result = BigUtils.pow(savedValue, BigDecimal.ONE.divide(value,
32, BigDecimal.ROUND_HALF_UP));
} catch (ArithmeticException ex) {
initCalc();
setText("Error.");
return result;
}
break;
}
return result;
}
public static Calc showDialog(JDialog parent) {
Calc dialog = new Calc(parent);
dialog.pack();
dialog.setLocationRelativeTo(parent);
dialog.setVisible(true);
return dialog;
}
}