package cn.java; import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator { /**
* @param args
*/
JFrame frame =new JFrame();
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JTextField field = new JTextField(15);
JButton button = new JButton("MC");
boolean clickable ;
short prekey=-1;
int answer = 0;
private String name[] = {"7","8","9","+","4","5","6","-","1","2","3","*","=","0",".","/"};
private Button buttons[] = new Button[name.length]; public void init(){
clickable = true;
frame.setTitle("啂啂计算器");
frame.setSize(250,210);
frame.setLocation(100,100);
panel1.setLayout(new GridLayout(4,4,4,4)); for(int i = 0;i <name.length;i++){
buttons[i] = new Button(name[i]);
panel1.add(buttons[i]);
buttons[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource(); if(obj == buttons[0] ¦ ¦obj == buttons[1] ¦ ¦obj == buttons[2] ¦ ¦obj == buttons[4] ¦ ¦obj == buttons[5] ¦ ¦obj == buttons[6] ¦ ¦obj == buttons[8] ¦ ¦obj == buttons[9] ¦ ¦obj == buttons[10] ¦ ¦obj == buttons[13] && clickable == true){
Button b = (Button)obj;
String press = b.getActionCommand();
field.setText(field.getText()+Integer.parseInt(press));
} }
怎样在此处实现加减乘除... ???????
怎样在此处实现加减乘除... ??????? });
}
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
field.setText("");
}
});
panel2.add(field);
panel3.add(button);
frame.add(panel1, BorderLayout.SOUTH);
frame.add(panel3,BorderLayout.CENTER);
frame.add(panel2, BorderLayout.NORTH);
field.setHorizontalAlignment(JTextField.RIGHT );
frame.setResizable(false);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main(String[] args) {
new Calculator().init();
}
}
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator { /**
* @param args
*/
JFrame frame =new JFrame();
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JTextField field = new JTextField(15);
JButton button = new JButton("MC");
boolean clickable ;
short prekey=-1;
int answer = 0;
private String name[] = {"7","8","9","+","4","5","6","-","1","2","3","*","=","0",".","/"};
private Button buttons[] = new Button[name.length]; public void init(){
clickable = true;
frame.setTitle("啂啂计算器");
frame.setSize(250,210);
frame.setLocation(100,100);
panel1.setLayout(new GridLayout(4,4,4,4)); for(int i = 0;i <name.length;i++){
buttons[i] = new Button(name[i]);
panel1.add(buttons[i]);
buttons[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource(); if(obj == buttons[0] ¦ ¦obj == buttons[1] ¦ ¦obj == buttons[2] ¦ ¦obj == buttons[4] ¦ ¦obj == buttons[5] ¦ ¦obj == buttons[6] ¦ ¦obj == buttons[8] ¦ ¦obj == buttons[9] ¦ ¦obj == buttons[10] ¦ ¦obj == buttons[13] && clickable == true){
Button b = (Button)obj;
String press = b.getActionCommand();
field.setText(field.getText()+Integer.parseInt(press));
} }
怎样在此处实现加减乘除... ???????
怎样在此处实现加减乘除... ??????? });
}
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
field.setText("");
}
});
panel2.add(field);
panel3.add(button);
frame.add(panel1, BorderLayout.SOUTH);
frame.add(panel3,BorderLayout.CENTER);
frame.add(panel2, BorderLayout.NORTH);
field.setHorizontalAlignment(JTextField.RIGHT );
frame.setResizable(false);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main(String[] args) {
new Calculator().init();
}
}
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class calculator extends JFrame implements ActionListener
{
private JTextField text_result;
private JButton button_1,button_2,button_3,button_4,button_5,button_6,button_7
,button_8,button_9,button_0,button_sqrt,button_asb,button_CE,button_C,button_divide,
button_multiply,button_difference,button_equal,button_star,button_plus;
private char c='#',;
private int top=1,basic=1;
private float number[]=new float[3],temp;
private String string="",table;
public calculator()
{
super("Calculator");
this.setSize(300,200);
// this.setLocale(200,300);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
text_result=new JTextField();
text_result.setBackground(Color.white);
text_result.setSize(1,1);
text_result.setEditable(false);
text_result.setHorizontalAlignment(JTextField.RIGHT);
//text_result.;
//text_result.setCaretPosition(JTextField.RIGHT);
this.getContentPane().add(text_result,BorderLayout.CENTER);
text_result.show();
JPanel panel=new JPanel(new GridLayout(5,4,5,6));
this.getContentPane().add(panel,BorderLayout.SOUTH);
button_1=new JButton("1");
button_1.addActionListener(this);
//button_1.setBackground(Color.red);
button_2=new JButton("2");
button_2.addActionListener(this);
button_3=new JButton("3");
button_3.addActionListener(this);
button_4=new JButton("4");
button_4.addActionListener(this);
button_5=new JButton("5");
button_5.addActionListener(this);
button_6=new JButton("6");
button_6.addActionListener(this);
button_7=new JButton("7");
button_7.addActionListener(this);
button_8=new JButton("8");
button_8.addActionListener(this);
button_9=new JButton("9");
button_9.addActionListener(this);
button_0=new JButton("0");
button_0.addActionListener(this);
button_sqrt=new JButton("sqrt");
button_sqrt.addActionListener(this);
button_asb=new JButton("&-/+");
button_asb.addActionListener(this);
button_CE=new JButton("CE");
button_CE.addActionListener(this);
button_C=new JButton("C");
button_C.addActionListener(this);
button_divide=new JButton("/");
button_divide.addActionListener(this);
button_multiply=new JButton("*");
button_multiply.addActionListener(this);
button_difference=new JButton("-");
button_difference.addActionListener(this);
button_plus=new JButton("+");
button_plus.addActionListener(this);
button_equal=new JButton("=");
button_equal.addActionListener(this);
button_star=new JButton(".");
button_star.addActionListener(this);
panel.add(button_sqrt);
panel.add(button_asb);
panel.add(button_CE);
panel.add(button_C);
panel.add(button_7);
panel.add(button_8);
panel.add(button_9);
panel.add(button_divide);
panel.add(button_4);
panel.add(button_5);
panel.add(button_6);
panel.add(button_multiply);
panel.add(button_1);
panel.add(button_2);
panel.add(button_3);
panel.add(button_difference);
panel.add(button_0);
panel.add(button_star);
panel.add(button_equal);
panel.add(button_plus);
this.setLocation(400,300);
this.setVisible(true);
//this.getContentPane().isEnabled(false);
this.setResizable(false);
}
public void actionPerformed(ActionEvent e)
{
try {
table=e.getActionCommand();
//text_result.setText(table);
=table.charAt(0);
//String string1=text_result.getText();
switch()
{
case '1':string+=button_1.getText();text_result.setText(string);break;
case '2':string+=button_2.getText();text_result.setText(string);break;
case '3':string+=button_3.getText();text_result.setText(string);break;
case '4':string+=button_4.getText();text_result.setText(string);break;
case '5':string+=button_5.getText();text_result.setText(string);break;
case '6':string+=button_6.getText();text_result.setText(string);break;
case '7':string+=button_7.getText();text_result.setText(string);break;
case '8':string+=button_8.getText();text_result.setText(string);break;
case '9':string+=button_9.getText();text_result.setText(string);break;
case '0':string+=button_0.getText();text_result.setText(string);break;
//case '.':string+=button_star.getText();text_result.setText(string);break;
case '&':if(string==""||string.charAt(0)!='-')
string="-"+string;
else
string.replace('-','0');
text_result.setText(string);break;
case '+':number[top]=Float.valueOf(string).floatValue();string="";
basic=top;top=top%2+1;c=;break;
case '-':number[top]=Float.valueOf(string).floatValue();string="";
basic=top;top=top%2+1;c=;break;
case '*':number[top]=Float.valueOf(string).floatValue();string="";
basic=top;top=top%2+1;c=;break;
case '/':number[top]=Float.valueOf(string).floatValue();string="";
basic=top;top=top%2+1;c=;break;
case 'C':string="";text_result.setText("");basic=top=1;break;
case 's':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";
basic=top;top=top%2+1;}
text_result.setText(""+(Math.sqrt(number[basic])));number[basic]=(float)Math.sqrt(number[basic]);break;
case '=':switch(c)
{
case '+':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";}
text_result.setText(""+(temp=number[basic]+number[top]));number[basic]=temp;break;
case '-':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";}
text_result.setText(""+(temp=number[basic]-number[top]));number[basic]=temp;break;
case '*':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";}
text_result.setText(""+(temp=number[basic]*number[top]));number[basic]=temp;break;
case '/':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";}
text_result.setText(""+(temp=number[basic]/number[top]));number[basic]=temp;break;
}
}
}catch(Exception ie){}
}
public static void main(String args[])
{
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){}
calculator ca=new calculator();
}
}你参考下,加减乘除也不是一两句话能讲清的