?? tostringcalculator.java
字號:
package tostringcalculator;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class ToStringCalculator
extends JFrame {
JPanel contentPane;
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
JButton jButton6 = new JButton();
JButton jButton7 = new JButton();
JButton jButton8 = new JButton();
JButton jButton9 = new JButton();
JButton jButton10 = new JButton();
JButton jButton11 = new JButton();
JButton jButton12 = new JButton();
JButton jButton13 = new JButton();
JButton jButton14 = new JButton();
JButton jButton15 = new JButton();
JButton jButton16 = new JButton();
JButton jButton17 = new JButton();
JButton jButton18 = new JButton();
JButton jButton19 = new JButton();
double num1, num2;
boolean add = false, sub = false, mul = false, div = false;
boolean end = false; //用來設(shè)定數(shù)據(jù)輸入是否結(jié)束
String str;
JTextField jTextField1 = new JTextField();
JButton jButton20 = new JButton();
JButton jButton21 = new JButton();
JButton jButton22 = new JButton();
JButton jButton23 = new JButton();
JButton jButton24 = new JButton();
JButton jButton25 = new JButton();
JButton jButton26 = new JButton();
JButton jButton27 = new JButton();
ButtonGroup buttonGroup1 = new ButtonGroup();
JRadioButton jRadioButton1 = new JRadioButton();
JRadioButton jRadioButton2 = new JRadioButton();
//Construct the frame
public ToStringCalculator() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel)this.getContentPane();
contentPane.setLayout(null);
this.setLocale(java.util.Locale.getDefault());
this.setSize(new Dimension(360, 225));
this.setTitle("具有數(shù)制轉(zhuǎn)換功能的計(jì)算器");
this.addKeyListener(new ToStringCalculator_this_keyAdapter(this));
jButton1.setBounds(new Rectangle(18, 71, 41, 25));
jButton1.setText("9");
jButton1.addActionListener(new ToStringCalculator_jButton1_actionAdapter(this));
jButton2.setBounds(new Rectangle(68, 71, 41, 25));
jButton2.setText("8");
jButton2.addActionListener(new ToStringCalculator_jButton2_actionAdapter(this));
jButton3.setBounds(new Rectangle(118, 71, 41, 25));
jButton3.setText("7");
jButton3.addActionListener(new ToStringCalculator_jButton3_actionAdapter(this));
jButton4.setBounds(new Rectangle(168, 168, 45, 25));
jButton4.setToolTipText("");
jButton4.setText("+");
jButton4.addActionListener(new ToStringCalculator_jButton4_actionAdapter(this));
jButton5.setBounds(new Rectangle(18, 103, 41, 25));
jButton5.setText("6");
jButton5.addActionListener(new ToStringCalculator_jButton5_actionAdapter(this));
jButton6.setBounds(new Rectangle(68, 103, 41, 25));
jButton6.setFont(new java.awt.Font("Dialog", 0, 11));
jButton6.setForeground(Color.black);
jButton6.setText("5");
jButton6.addActionListener(new ToStringCalculator_jButton6_actionAdapter(this));
jButton7.setBounds(new Rectangle(118, 103, 41, 25));
jButton7.setForeground(Color.black);
jButton7.setText("4");
jButton7.addActionListener(new ToStringCalculator_jButton7_actionAdapter(this));
jButton8.setBounds(new Rectangle(168, 136, 45, 25));
jButton8.setForeground(Color.black);
jButton8.setText("-");
jButton8.addActionListener(new ToStringCalculator_jButton8_actionAdapter(this));
jButton9.setBounds(new Rectangle(18, 136, 41, 25));
jButton9.setHorizontalAlignment(SwingConstants.CENTER);
jButton9.setText("3");
jButton9.addActionListener(new ToStringCalculator_jButton9_actionAdapter(this));
jButton10.setBounds(new Rectangle(68, 136, 41, 25));
jButton10.setText("2");
jButton10.addActionListener(new ToStringCalculator_jButton10_actionAdapter(this));
jButton11.setBounds(new Rectangle(118, 136, 41, 25));
jButton11.setText("1");
jButton11.addActionListener(new ToStringCalculator_jButton11_actionAdapter(this));
jButton12.setBounds(new Rectangle(168, 103, 45, 25));
jButton12.setForeground(Color.black);
jButton12.setVerifyInputWhenFocusTarget(true);
jButton12.setText("×");
jButton12.addActionListener(new ToStringCalculator_jButton12_actionAdapter(this));
jButton13.setBounds(new Rectangle(18, 168, 41, 25));
jButton13.setFont(new java.awt.Font("Dialog", 0, 11));
jButton13.setToolTipText("");
jButton13.setText("0");
jButton13.addActionListener(new ToStringCalculator_jButton13_actionAdapter(this));
jButton14.setBounds(new Rectangle(68, 168, 41, 25));
jButton14.setToolTipText("");
jButton14.setText("-");
jButton14.addActionListener(new ToStringCalculator_jButton14_actionAdapter(this));
jButton15.setBounds(new Rectangle(118, 168, 41, 25));
jButton15.setToolTipText("");
jButton15.setText(".");
jButton15.addActionListener(new ToStringCalculator_jButton15_actionAdapter(this));
jButton16.setBounds(new Rectangle(168, 71, 45, 25));
jButton16.setForeground(Color.black);
jButton16.setText("/");
jButton16.addActionListener(new ToStringCalculator_jButton16_actionAdapter(this));
jButton17.setBounds(new Rectangle(18, 39, 57, 25));
jButton17.setSelected(false);
jButton17.setText("清零");
jButton17.addActionListener(new ToStringCalculator_jButton17_actionAdapter(this));
jButton18.setBounds(new Rectangle(88, 39, 68, 25));
jButton18.setVerifyInputWhenFocusTarget(true);
jButton18.setText("重置");
jButton18.addActionListener(new ToStringCalculator_jButton18_actionAdapter(this));
jButton19.setBounds(new Rectangle(168, 39, 45, 25));
jButton19.setText("=");
jButton19.addActionListener(new ToStringCalculator_jButton19_actionAdapter(this));
jTextField1.setText("0");
jTextField1.setBounds(new Rectangle(18, 12, 195, 21));
contentPane.setForeground(Color.black);
contentPane.addKeyListener(new ToStringCalculator_contentPane_keyAdapter(this));
jButton20.setBounds(new Rectangle(236, 71, 55, 25));
jButton20.setText("sin");
jButton20.addActionListener(new ToStringCalculator_jButton20_actionAdapter(this));
jButton21.setText("cos");
jButton21.addActionListener(new ToStringCalculator_jButton21_actionAdapter(this));
jButton21.setBounds(new Rectangle(291, 71, 55, 25));
jButton22.setText("tan");
jButton22.addActionListener(new ToStringCalculator_jButton22_actionAdapter(this));
jButton22.setBounds(new Rectangle(236, 103, 55, 25));
jButton22.setVerifyInputWhenFocusTarget(true);
jButton23.setText("atan");
jButton23.addActionListener(new ToStringCalculator_jButton23_actionAdapter(this));
jButton23.setBounds(new Rectangle(291, 103, 55, 25));
jButton24.setText("PI");
jButton24.addActionListener(new ToStringCalculator_jButton24_actionAdapter(this));
jButton24.setBounds(new Rectangle(236, 136, 55, 25));
jButton25.setText("Log");
jButton25.addActionListener(new ToStringCalculator_jButton25_actionAdapter(this));
jButton25.setBounds(new Rectangle(291, 136, 55, 25));
jButton25.setForeground(Color.black);
jButton25.setFocusPainted(true);
jButton26.setText("sqrt");
jButton26.addActionListener(new ToStringCalculator_jButton26_actionAdapter(this));
jButton26.setBounds(new Rectangle(236, 168, 55, 25));
jButton27.setText("n!");
jButton27.addActionListener(new ToStringCalculator_jButton27_actionAdapter(this));
jButton27.setBounds(new Rectangle(291, 168, 55, 25));
jRadioButton1.setText("二進(jìn)制");
jRadioButton1.setBounds(new Rectangle(245, 17, 90, 20));
jRadioButton1.addActionListener(new
ToStringCalculator_jRadioButton1_actionAdapter(this));
jRadioButton2.setSelected(true);
jRadioButton2.setText("十進(jìn)制");
jRadioButton2.setBounds(new Rectangle(245, 39, 91, 20));
jRadioButton2.addActionListener(new
ToStringCalculator_jRadioButton2_actionAdapter(this));
contentPane.add(jButton2, null);
contentPane.add(jTextField1, null);
contentPane.add(jButton17, null);
contentPane.add(jButton18, null);
contentPane.add(jButton19, null);
contentPane.add(jButton3, null);
contentPane.add(jButton1, null);
contentPane.add(jButton5, null);
contentPane.add(jButton9, null);
contentPane.add(jButton13, null);
contentPane.add(jButton14, null);
contentPane.add(jButton10, null);
contentPane.add(jButton6, null);
contentPane.add(jButton7, null);
contentPane.add(jButton11, null);
contentPane.add(jButton15, null);
contentPane.add(jButton4, null);
contentPane.add(jButton16, null);
contentPane.add(jButton8, null);
contentPane.add(jButton12, null);
contentPane.add(jButton20, null);
contentPane.add(jButton22, null);
contentPane.add(jButton23, null);
contentPane.add(jButton24, null);
contentPane.add(jButton25, null);
contentPane.add(jButton26, null);
contentPane.add(jButton27, null);
contentPane.add(jButton21, null);
contentPane.add(jRadioButton1, null);
contentPane.add(jRadioButton2, null);
buttonGroup1.add(jRadioButton1);
buttonGroup1.add(jRadioButton2);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void number(int i) {
String s = null;
s = String.valueOf(i);
if (end) {
jTextField1.setText("0");
end = false;
}
if ( (jTextField1.getText()).equals("0")) {
jTextField1.setText(s);
}
else {
str = jTextField1.getText() + s;
jTextField1.setText(str);
}
this.requestFocus(true);
}
void sign(int s) {
if (s == 1) {
add = true;
sub = false;
mul = false;
div = false;
}
else if (s == 2) {
add = false;
sub = true;
mul = false;
div = false;
}
else if (s == 3) {
add = false;
sub = false;
mul = true;
div = false;
}
else {
add = false;
sub = false;
mul = false;
div = true;
}
num1 = Double.parseDouble(jTextField1.getText());
end = true;
this.requestFocus(true);
}
void jButton18_actionPerformed(ActionEvent e) {
jTextField1.setText("0");
end = false;
add = false;
sub = false;
mul = false;
div = false;
this.requestFocus(true);
}
void jButton1_actionPerformed(ActionEvent e) {
number(9);
}
void jButton2_actionPerformed(ActionEvent e) {
number(8);
}
void jButton3_actionPerformed(ActionEvent e) {
number(7);
}
void jButton5_actionPerformed(ActionEvent e) {
number(6);
}
void jButton6_actionPerformed(ActionEvent e) {
number(5);
}
void jButton7_actionPerformed(ActionEvent e) {
number(4);
}
void jButton9_actionPerformed(ActionEvent e) {
number(3);
}
void jButton10_actionPerformed(ActionEvent e) {
number(2);
}
void jButton11_actionPerformed(ActionEvent e) {
number(1);
}
void jButton13_actionPerformed(ActionEvent e) {
number(0);
}
void jButton15_actionPerformed(ActionEvent e) {
str = jTextField1.getText();
if (str.indexOf(".") <= 1) {
str += ".";
jTextField1.setText(str);
}
this.requestFocus(true);
}
void jButton16_actionPerformed(ActionEvent e) {
sign(4);
}
void jButton12_actionPerformed(ActionEvent e) {
sign(3);
}
void jButton8_actionPerformed(ActionEvent e) {
sign(2);
}
void jButton4_actionPerformed(ActionEvent e) {
sign(1);
}
void jButton19_actionPerformed(ActionEvent e) {
num2 = Double.parseDouble(jTextField1.getText());
if (add) {
num1 = num1 + num2;
}
else if (sub) {
num1 = num1 - num2;
}
else if (mul) {
num1 = num1 * num2;
}
else if (div) {
num1 = num1 / num2;
}
jTextField1.setText(String.valueOf(num1));
end = true;
this.requestFocus(true);
}
void jButton14_actionPerformed(ActionEvent e) {
if (end) {
end = false;
jTextField1.setText("-");
}
this.requestFocus(true);
}
void jButton17_actionPerformed(ActionEvent e) {
jTextField1.setText("0");
this.requestFocus(true);
}
public boolean isFocusTraversable() {
/**@todo Override this java.awt.Component method*/
return true;
}
void this_keyPressed(KeyEvent e) {
int kc = e.getKeyCode();
switch (kc) {
case 48:
case 96:
number(0);
break;
case 49:
case 97:
number(1);
break;
case 50:
case 98:
number(2);
break;
case 51:
case 99:
number(3);
break;
case 52:
case 100:
number(4);
break;
case 53:
case 101:
number(5);
break;
case 54:
case 102:
number(6);
break;
case 55:
case 103:
number(7);
break;
case 56:
case 104:
number(8);
break;
case 57:
case 105:
number(9);
break;
case 107:
sign(1);
break;
case 109:
sign(2);
break;
case 106:
sign(3);
break;
case 111:
sign(4);
break;
case 27:
jTextField1.setText("0");
end = false;
add = false;
sub = false;
mul = false;
div = false;
this.requestFocus(true);
break;
case 10:
case 61:
num2 = Double.parseDouble(jTextField1.getText());
if (add) {
num1 = num1 + num2;
}
else if (sub) {
num1 = num1 - num2;
}
else if (mul) {
num1 = num1 * num2;
}
else {
num1 = num1 / num2;
}
jTextField1.setText(String.valueOf(num1));
end = true;
this.requestFocus(true);
break;
}
}
void contentPane_keyPressed(KeyEvent e) {}
void jButton20_actionPerformed(ActionEvent e) {
num1 = Double.parseDouble(jTextField1.getText());
jTextField1.setText(String.valueOf(Math.sin(num1)));
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -