?? calculatora41.java
字號:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class CalculatorPanel extends Panel implements ActionListener
{
public CalculatorPanel()
{
Panel panel1,panel2,panel3,panel4;
Button buttonBk, buttonCe, buttonC;
Button button[];
Button buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,
buttonDiv, buttonMod;
Button buttonSqrt, buttonDao, buttonEqual;
panel1 = new Panel();
panel1.setLayout(new BorderLayout());
display=new TextField("0");
panel1.add(display,"North");
panel2 =new Panel();
panel2.setLayout(new BorderLayout());
panel3 = new Panel();
panel3.setLayout(new FlowLayout(FlowLayout.RIGHT));
buttonBk = new Button("Backspace");
buttonCe = new Button("CE");
buttonC = new Button("C");
buttonBk.addActionListener(this);
buttonCe.addActionListener(this);
buttonC.addActionListener(this);
panel3.add(buttonBk);
panel3.add(buttonCe);
panel3.add(buttonC);
panel2.add(panel3, BorderLayout.NORTH);
panel1.add(panel2, BorderLayout.CENTER);
panel4 = new Panel();
panel2.add(panel4, BorderLayout.CENTER);
button = new Button[10];
for (int i = 0; i < button.length; i++)
{
button[i] = new Button(Integer.toString(i));
}
buttonDot = new Button(".");
buttonAddAndSub = new Button("+/-");
buttonAdd = new Button("+");
buttonSub = new Button("-");
buttonMul = new Button("*");
buttonDiv = new Button("/");
buttonMod = new Button("%");
buttonSqrt = new Button("sqrt");
buttonDao = new Button("dao");
buttonEqual = new Button("=");
panel4.setLayout(new GridLayout(4, 5,5,5));
panel4.add(button[7]);
button[7].addActionListener(this);
panel4.add(button[8]);
button[8].addActionListener(this);
panel4.add(button[9]);
button[9].addActionListener(this);
panel4.add(buttonDiv);
buttonDiv.addActionListener(this);
panel4.add(buttonSqrt);
buttonSqrt.addActionListener(this);
panel4.add(button[4]);
button[4].addActionListener(this);
panel4.add(button[5]);
button[5].addActionListener(this);
panel4.add(button[6]);
button[6].addActionListener(this);
panel4.add(buttonMul);
buttonMul.addActionListener(this);
panel4.add(buttonMod);
buttonMod.addActionListener(this);
panel4.add(button[1]);
button[1].addActionListener(this);
panel4.add(button[2]);
button[2].addActionListener(this);
panel4.add(button[3]);
button[3].addActionListener(this);
panel4.add(buttonSub);
buttonSub.addActionListener(this);
panel4.add(buttonDao);
buttonDao.addActionListener(this);
panel4.add(button[0]);
button[0].addActionListener(this);
panel4.add(buttonAddAndSub);
buttonAddAndSub.addActionListener(this);
panel4.add(buttonDot);
buttonDot.addActionListener(this);
panel4.add(buttonAdd);
buttonAdd.addActionListener(this);
panel4.add(buttonEqual);
buttonEqual.addActionListener(this);
add(panel1);
}
public void actionPerformed (ActionEvent e)
{
String s=e.getActionCommand();
if (s.equals("Backspace"))
{
String st = display.getText();
display.setText("");
for (int i = 0; i < st.length() - 1; i++)
{
char a = st.charAt(i);
display.setText(display.getText() + a);
}
}
else if (s.equals("CE"))
display.setText("");
else if (s.equals("C"))
display.setText("");
else if('0'<=s.charAt(0) && s.charAt(0)<='9'||s.equals("."))
{
if(start)
{
display.setText(s);
}
else
display.setText(display.getText()+s);
start=false;
}
else
{
if(start)
{
if(s.equals("+/-"))
{
display.setText("-");
start=false;
}
else
op=s;
}
else
{
double x=Double.parseDouble(display.getText());
calculate(x);
op=s;
start=true;
}
}
}
void calculate(double n)
{
if(op.equals("+"))arg =arg+n;
else if(op.equals("-"))arg=arg-n;
else if(op.equals("*"))arg=arg*n;
else if(op.equals("/"))arg=arg/n;
else if(op.equals("="))arg=n;
else if(op.equals("dao"))arg=1/n;
else if(op.equals("%"))arg=n/100;
else if(op.equals("sqrt"))arg=java.lang.Math.sqrt(n);
display.setText(""+arg);
}
private double arg=0;
private String op="=";
private boolean start = true;
private TextField display;
}
class CalculatorFrame extends Frame
{
CalculatorFrame()
{
MenuBar menubar;
Menu menu1,menu2,menu3;
MenuItem item1,item2,item3,item4,item5,item6,item7;
setTitle("calculator");
setSize(230,230);
setResizable(false);
menubar=new MenuBar();
menu1=new Menu("編輯(E)");
item1=new MenuItem("復(fù)制(C)Ctrl+C");
item2=new MenuItem("粘貼(V)Ctrl+V");
menu2=new Menu("查看(V)");
item3=new MenuItem("標(biāo)準(zhǔn)型(T)");
item4=new MenuItem("科學(xué)型(S)");
item5=new MenuItem("數(shù)字分組(I)");
menu3=new Menu("幫助(H)");
item6=new MenuItem("幫助主題(H)");
item7=new MenuItem("關(guān)于計(jì)算器(A)");
menu1.add(item1);
menu1.add(item2);
menu2.add(item3);
menu2.add(item4);
menu2.add(item5);
menu3.add(item6);
menu3.add(item7);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
setMenuBar(menubar);
addWindowListener(new WindowDestroyer());
setVisible(true);
CalculatorPanel pn=new CalculatorPanel();
add(pn);
validate();
}
class WindowDestroyer extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
}
public class Calculatora41
{
public static void main(String args[])
{
CalculatorFrame frame =new CalculatorFrame();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -