import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MyComputer extends JApplet implements ActionListener{
JLabel num1Label,num2Label,resultLabel;
JTextField num1Field,num2Field,resultField;
JButton jiaButton,jianButton,chengButton,chuButton;String num1Val ;
String num2Val;
int num1 ;
int num2 ; public void init()
{
Container container = getContentPane();
container.setLayout(new FlowLayout()); //定义num1
num1Label = new JLabel( "num1");
container.add(num1Label);
num1Field = new JTextField( 10 );
container.add( num1Field ); //定义num2
num2Label = new JLabel( "num2");
container.add(num2Label);
num2Field = new JTextField( 10 );
container.add( num2Field ); //定义result
resultLabel = new JLabel( "result ");
container.add( resultLabel);
container.add( resultLabel );
resultField = new JTextField( 10 );
resultField.setEditable( false );
container.add( resultField ); //定义+
jiaButton = new JButton( "+" );
jiaButton.addActionListener( this );
container.add( jiaButton );
//定义-
jianButton = new JButton( "-" );
jianButton.addActionListener( this );
container.add( jianButton ); //定义*
chengButton = new JButton( "*" );
chengButton.addActionListener( this );
container.add( chengButton ); //定义/
chuButton = new JButton( "/" );
chuButton.addActionListener( this );
container.add( chuButton ); }
public void actionPerformed( ActionEvent b )
{
int sum1;
String num1Val = num1Field.getText().trim();
String num2Val = num2Field.getText().trim();
num1 = Integer.parseInt(num1Val);
num2 = Integer.parseInt(num2Val);
//加法運算
if ( b.getSource() == "jiaButton"){
sum1 = num1 + num2; resultField.setText( "sum1 = " + sum1 );
}
//減法運算
if (b.getSource() == "jianButton"){
sum1 = num1 - num2; resultField.setText( "sum1 = " + sum1 );
}
//乘法运算
if (b.getSource() == "chengButton"){
sum1 = num1 * num2;
resultField.setText( "sum1 = " + sum1 );
}//除法运算
if (b.getSource() == "chuButton"){
sum1 = num1 / num2;
resultField.setText( "sum1 = " + sum1 );
}}
}
import javax.swing.*;
import java.awt.event.*;
public class MyComputer extends JApplet implements ActionListener{
JLabel num1Label,num2Label,resultLabel;
JTextField num1Field,num2Field,resultField;
JButton jiaButton,jianButton,chengButton,chuButton;String num1Val ;
String num2Val;
int num1 ;
int num2 ; public void init()
{
Container container = getContentPane();
container.setLayout(new FlowLayout()); //定义num1
num1Label = new JLabel( "num1");
container.add(num1Label);
num1Field = new JTextField( 10 );
container.add( num1Field ); //定义num2
num2Label = new JLabel( "num2");
container.add(num2Label);
num2Field = new JTextField( 10 );
container.add( num2Field ); //定义result
resultLabel = new JLabel( "result ");
container.add( resultLabel);
container.add( resultLabel );
resultField = new JTextField( 10 );
resultField.setEditable( false );
container.add( resultField ); //定义+
jiaButton = new JButton( "+" );
jiaButton.addActionListener( this );
container.add( jiaButton );
//定义-
jianButton = new JButton( "-" );
jianButton.addActionListener( this );
container.add( jianButton ); //定义*
chengButton = new JButton( "*" );
chengButton.addActionListener( this );
container.add( chengButton ); //定义/
chuButton = new JButton( "/" );
chuButton.addActionListener( this );
container.add( chuButton ); }
public void actionPerformed( ActionEvent b )
{
int sum1;
String num1Val = num1Field.getText().trim();
String num2Val = num2Field.getText().trim();
num1 = Integer.parseInt(num1Val);
num2 = Integer.parseInt(num2Val);
//加法運算
if ( b.getSource() == "jiaButton"){
sum1 = num1 + num2; resultField.setText( "sum1 = " + sum1 );
}
//減法運算
if (b.getSource() == "jianButton"){
sum1 = num1 - num2; resultField.setText( "sum1 = " + sum1 );
}
//乘法运算
if (b.getSource() == "chengButton"){
sum1 = num1 * num2;
resultField.setText( "sum1 = " + sum1 );
}//除法运算
if (b.getSource() == "chuButton"){
sum1 = num1 / num2;
resultField.setText( "sum1 = " + sum1 );
}}
}
b.getSource().equals("chuButton")
equals 貌似不行~~ 呵呵
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MyComputer extends JApplet implements ActionListener{
JLabel num1Label,num2Label,resultLabel;
JTextField num1Field,num2Field,resultField;
JButton jiaButton,jianButton,chengButton,chuButton; String num1Val ;
String num2Val;
int num1 ;
int num2 ; public void init()
{
Container container = getContentPane();
container.setLayout(new FlowLayout()); //定义num1
num1Label = new JLabel( "num1");
container.add(num1Label);
num1Field = new JTextField( 10 );
container.add( num1Field ); //定义num2
num2Label = new JLabel( "num2");
container.add(num2Label);
num2Field = new JTextField( 10 );
container.add( num2Field ); //定义result
resultLabel = new JLabel( "result ");
container.add( resultLabel);
container.add( resultLabel );
resultField = new JTextField( 10 );
resultField.setEditable( false );
container.add( resultField ); //定义+
jiaButton = new JButton( "+" );
jiaButton.addActionListener( this );
container.add( jiaButton );
//定义-
jianButton = new JButton( "-" );
jianButton.addActionListener( this );
container.add( jianButton ); //定义*
chengButton = new JButton( "*" );
chengButton.addActionListener( this );
container.add( chengButton ); //定义/
chuButton = new JButton( "/" );
chuButton.addActionListener( this );
container.add( chuButton ); }
public void actionPerformed( ActionEvent b )
{
int sum1;
String num1Val = num1Field.getText().trim();
String num2Val = num2Field.getText().trim();
num1 = Integer.parseInt(num1Val);
num2 = Integer.parseInt(num2Val);
//加法運算
if ( b.getSource() ==jiaButton){
sum1 = num1 + num2; resultField.setText( "sum1 = " + sum1 );
}
//減法運算
if (b.getSource() == jianButton){
sum1 = num1 - num2; resultField.setText( "sum1 = " + sum1 );
}
//乘法运算
if (b.getSource() == chengButton){
sum1 = num1 * num2;
resultField.setText( "sum1 = " + sum1 );
} //除法运算
if (b.getSource() == chuButton){
sum1 = num1 / num2;
resultField.setText( "sum1 = " + sum1 );
}
} } ActionEvent.getActionCommmand是得到字符串 而getSource得到的是对象 把引号去掉就是了!!!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;import sun.org.mozilla.javascript.internal.Kit;public class Calculator {
public static void main(String[] args) {
CalculatorFrame frame = new CalculatorFrame();
Dimension srcSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension fraSize = frame.getSize();
frame.setLocation((srcSize.width - fraSize.width) / 2,
(srcSize.height - fraSize.height) / 2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}class CalculatorFrame extends JFrame {
public CalculatorFrame() {
setTitle("Calculator");
CalculatorPanel panel = new CalculatorPanel();
add(panel, BorderLayout.CENTER);
pack();
}
}class CalculatorPanel extends JPanel {
public CalculatorPanel() {
setLayout(new BorderLayout());
result = 0;
lastCommand = "=";
start = true;
//add the display
display = new JButton("0");
display.setEnabled(false);
add(display, BorderLayout.NORTH);
ActionListener insert = new InsertAction();
ActionListener command = new CommandAction();
//add the button in a 4 * 4 grid
panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));
addButton("7", insert);
addButton("8", insert);
addButton("9", insert);
addButton("/", command);
addButton("4", insert);
addButton("5", insert);
addButton("6", insert);
addButton("*", command);
addButton("1", insert);
addButton("2", insert);
addButton("3", insert);
addButton("-", command);
addButton("0", insert);
addButton(".", insert);
addButton("=", command);
addButton("+", command);
add(panel, BorderLayout.CENTER);
clearPanel = new JPanel();
JButton clearButton = new JButton("清空数据");
clearButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
result = 0;
lastCommand = "=";
start = true;
display.setText("0");
}
});
clearPanel.add(clearButton);
add(clearPanel, BorderLayout.SOUTH);
}
private void addButton(String label, ActionListener listener) {
JButton button = new JButton(label);
button.addActionListener(listener);
panel.add(button);
}
private class InsertAction implements ActionListener {
public void actionPerformed(ActionEvent event) {
String input = event.getActionCommand();
if(start) {
display.setText("");
start = false;
}
display.setText(display.getText() + input);
}
}
private class CommandAction implements ActionListener {
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
if(start) {
if(command.equals("-")) {
display.setText(command);
start = false;
}
else {
lastCommand = command;
}
}
else {
calculate(Double.parseDouble(display.getText()));
lastCommand = command;
start = true;
}
}
}
public void calculate(double x) {
if(lastCommand.equals("+"))
result += x;
else if(lastCommand.equals("-"))
result -= x;
else if(lastCommand.equals("*"))
result *= x;
else if(lastCommand.equals("/"))
result /= x;
else if(lastCommand.equals("="))
result = x;
display.setText(" " + result);
}
private JButton display;
private JPanel panel;
private JPanel clearPanel;
private double result;
private String lastCommand;
private boolean start;
}
改成
b.getSource() == chuButton
以此类推