邮件已发送,请查收
include void main 嘛
http://hi.baidu.com/z277416636/blog/item/5bbb450e58dc81d73ac763e2.html
拿去试哈
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class Calculator extends JFrame implements ActionListener{
JMenuBar menubar;
JMenu menu1,menu2,menu3;
JMenuItem menuitem1,menuitem2,menuitem3,menuitem4,menuitem5;
JLabel label;
JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b01,b02,b03,b04,b05;
JPanel panel1,panel2,panel3;
String a="0";
boolean b,c;
Double m=0.0,n=0.0,r=0.0;
Integer h=0;
int d;
public Calculator(){
setTitle("Calculator");
panel1=new JPanel();
panel2=new JPanel();
panel3=new JPanel();
menubar=new JMenuBar();
menu1=new JMenu("File");
menu2=new JMenu("Edit");
menu3=new JMenu("Help");
menuitem1=new JMenuItem("ON");
menuitem2=new JMenuItem("OFF");
menuitem3=new JMenuItem("Close");
menuitem4=new JMenuItem("Copy");
menuitem5=new JMenuItem("Help");
label=new JLabel("");
b1=new JButton("7"); b2=new JButton("8"); b3=new JButton("9"); b4=new JButton("/");
b5=new JButton("sqrt"); b6=new JButton("4"); b7=new JButton("5"); b8=new JButton("6");
b9=new JButton("*"); b10=new JButton("%"); b11=new JButton("1"); b12=new JButton("2");
b13=new JButton("3"); b14=new JButton("-"); b15=new JButton("1/x"); b16=new JButton("0");
b17=new JButton("+/-"); b18=new JButton("."); b19=new JButton("+"); b20=new JButton("=");
b01=new JButton("Backspace"); b02=new JButton("CE"); b03=new JButton("C");
b04=new JButton("ON"); b05=new JButton("OFF");
setSize(400,300);
label.setBorder(BorderFactory.createBevelBorder(1));
label.setOpaque(true);
label.setBackground(Color.white);
label.setHorizontalAlignment(SwingConstants.RIGHT);
label.setCursor(new Cursor(Cursor.TEXT_CURSOR));
add(panel1);
GridBagLayout g=new GridBagLayout();
GridBagConstraints c=new GridBagConstraints();
panel1.setSize(350,200);
panel1.setLayout(g);
c.gridx=0; c.gridy=0;
c.gridwidth=350; c.gridheight=20;
c.fill=GridBagConstraints.BOTH;
c.insets=new Insets(1,1,1,1);
c.weightx=10.0; c.weighty=0.0;
g.setConstraints(menubar,c);
panel1.add(menubar);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
menu1.add(menuitem1);
menu1.add(menuitem2);
menu1.addSeparator();
menu1.add(menuitem3);
menu2.add(menuitem4);
menu3.add(menuitem5);
c.gridy=20;
c.gridheight=50;
g.setConstraints(label,c);
panel1.add(label);
c.gridy=70;
c.gridheight=50;
c.weighty=3.0;
g.setConstraints(panel2,c);
panel1.add(panel2);
GridBagLayout i=new GridBagLayout();
GridBagConstraints j=new GridBagConstraints();
panel2.setLayout(i);
j.gridx=0; j.gridy=0;
j.gridwidth=68; j.gridheight=40;
j.fill=GridBagConstraints.BOTH;
j.insets=new Insets(1,1,1,1);
j.weightx=3.0; j.weighty=3.0;
i.setConstraints(b04,j);
panel2.add(b04);
j.gridx=70;
i.setConstraints(b01,j);
panel2.add(b01);
j.gridx=140;
i.setConstraints(b02,j);
panel2.add(b02);
j.gridx=210;
i.setConstraints(b03,j);
panel2.add(b03);
j.gridx=280;
i.setConstraints(b05,j);
panel2.add(b05);
c.gridy=120;
c.gridheight=80;
c.weighty=10.0;
g.setConstraints(panel3,c);
panel1.add(panel3);
panel3.setLayout(new GridLayout(4,5));
panel3.add(b1); panel3.add(b2); panel3.add(b3); panel3.add(b4); panel3.add(b5);
panel3.add(b6); panel3.add(b7); panel3.add(b8); panel3.add(b9); panel3.add(b10);
panel3.add(b11); panel3.add(b12); panel3.add(b13); panel3.add(b14); panel3.add(b15);
panel3.add(b16); panel3.add(b17); panel3.add(b18); panel3.add(b19); panel3.add(b20);
menuitem1.addActionListener(this); menuitem2.addActionListener(this); menuitem3.addActionListener(this);
b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this);
b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this);
b7.addActionListener(this); b8.addActionListener(this); b9.addActionListener(this);
b10.addActionListener(this); b11.addActionListener(this); b12.addActionListener(this);
b13.addActionListener(this); b14.addActionListener(this); b15.addActionListener(this);
b16.addActionListener(this); b17.addActionListener(this); b18.addActionListener(this);
b19.addActionListener(this); b20.addActionListener(this);
b01.addActionListener(this); b02.addActionListener(this); b03.addActionListener(this);
b04.addActionListener(this); b05.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==menuitem1){label.setText(a); b=true;}
else if(e.getSource()==menuitem2){label.setText(""); b=false;}
else if(e.getSource()==menuitem3){System.exit(0);}
else if(e.getSource()==b04){label.setText(a); b=true;}
else if(e.getSource()==b05){label.setText(""); b=false;}
if(b){
if(e.getSource()==b1){
if(label.getText().equals("0")){label.setText("7");}
else{
if(!c){label.setText(label.getText().concat("7"));}
else{label.setText("7"); c=false; n=0.0;}
}
}
if(e.getSource()==b2){
if(label.getText().equals("0")){label.setText("8");}
else{
if(!c){label.setText(label.getText().concat("8"));}
else{label.setText("8"); c=false; n=0.0;}
}
}
if(e.getSource()==b3){
if(label.getText().equals("0")){label.setText("9");}
else{
if(!c){label.setText(label.getText().concat("9"));}
else{label.setText("9"); c=false; n=0.0;}
}
}
if(e.getSource()==b6){
if(label.getText().equals("0")){label.setText("4");}
else{
if(!c){label.setText(label.getText().concat("4"));}
else{label.setText("4"); c=false; n=0.0;}
}
}
if(e.getSource()==b7){
if(label.getText().equals("0")){label.setText("5");}
else{
if(!c){label.setText(label.getText().concat("5"));}
else{label.setText("5"); c=false; n=0.0;}
}
}
if(e.getSource()==b8){
if(label.getText().equals("0")){label.setText("6");}
else{
if(!c){label.setText(label.getText().concat("6"));}
else{label.setText("6"); c=false; n=0.0;}
}
}
if(e.getSource()==b11){
if(label.getText().equals("0")){label.setText("1");}
else{
if(!c){label.setText(label.getText().concat("1"));}
else{label.setText("1"); c=false; n=0.0;}
}
}
if(e.getSource()==b12){
if(label.getText().equals("0")){label.setText("2");}
else{
if(!c){label.setText(label.getText().concat("2"));}
else{label.setText("2"); c=false; n=0.0;}
}
}
if(e.getSource()==b13){
if(label.getText().equals("0")){label.setText("3");}
else{
if(!c){label.setText(label.getText().concat("3"));}
else{label.setText("3"); c=false; n=0.0;}
}
}
if(e.getSource()==b16){
if(label.getText().equals("0")){label.setText("0");}
else{
if(!c){label.setText(label.getText().concat("0"));}
else{label.setText("0"); c=false; n=0.0;}
}
}
if(e.getSource()==b18){
if(!label.getText().contains(".")){label.setText(label.getText().concat("."));}
}
if(e.getSource()==b4){
c=true;
d=1;
m=m.valueOf(label.getText());
}
if(e.getSource()==b9){
c=true;
d=2;
m=m.valueOf(label.getText());
}
if(e.getSource()==b14){
c=true;
d=3;
m=m.valueOf(label.getText());
}
if(e.getSource()==b19){
c=true;
d=4;
m=m.valueOf(label.getText());
}
if(e.getSource()==b15){
m=m.valueOf(label.getText());
if(m==0){label.setText("0");}
else{m=1/m;
if(m.toString().endsWith(".0")){
h=m.intValue();
label.setText(h.toString());
}
else{label.setText(m.toString());}
}
}
if(e.getSource()==b5){
m=m.valueOf(label.getText());
if(m<0){label.setText("0000000");}
else{
m=Math.sqrt(m);
if(m.toString().endsWith(".0")){
h=m.intValue();
label.setText(h.toString());
}
else{label.setText(m.toString());}
}
}
if(e.getSource()==b10){
c=true;
d=5;
m=m.valueOf(label.getText());
}
if(e.getSource()==b17){
r=0-m.valueOf(label.getText());
if(r.toString().endsWith(".0")){
h=r.intValue();
label.setText(h.toString());
}
else{label.setText(m.toString());}
}
if(e.getSource()==(b20)){
if(n==0){n=n.valueOf(label.getText());}
if(d==1){
if(n!=0){
m=m/n;
if(m.toString().endsWith(".0")){
h=m.intValue();
label.setText(h.toString());
}
else{label.setText(m.toString());}
}
else{label.setText("0");}
}
else if(d==2){
m=m*n;
if(m.toString().endsWith(".0")){
h=m.intValue();
label.setText(h.toString());
}
else{label.setText(m.toString());}
}
else if(d==3){
m=m-n;
if(m.toString().endsWith(".0")){
h=m.intValue();
label.setText(h.toString());
}
else{label.setText(m.toString());}
}
else if(d==4){
m=m+n;
if(m.toString().endsWith(".0")){
h=m.intValue();
label.setText(h.toString());
}
else{label.setText(m.toString());}
}
else if(d==5){
if(n!=0){
m=m%n;
if(m.toString().endsWith(".0")){
h=m.intValue();
label.setText(h.toString());
}
else{label.setText(m.toString());}
}
else{label.setText("00000000");}
}
}
if(e.getSource()==b02){label.setText(a);}
if(e.getSource()==b03){label.setText(a);}
if(e.getSource()==b01){
if(label.getText().length()==1){label.setText(a);}
else{label.setText(label.getText().substring(0,label.getText().length()-1));}
}
}
}
public static void main(String args[]){
Calculator x=new Calculator();
x.setVisible(true);
}
}