这是我的那本清华教材上的源码,可是我在windows的记事本下编译不出来,请高手们尽情发挥,帮我看下是什么问题,在此谢过:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Adder implements ActionListener
{
JFrame AdderFrame;
JTextField TOprand1;//被加数
JTextField TOprand2;//加数
JLabel LAdd,LSum;//加号,和
JButton BAdd;//Add!按钮
int i=0;
public Adder()
{//建立图形界面的屏幕显示部分
AdderFrame=new JFrame("AdderFrame");
TOprand1=new JTextField("0.0");
LAdd=new JLabel("+");
LSum=new JLabel("= ");
BAdd=new JButton("Add!");
AdderFrame.getContentPane().setLayout(new FlowLayout());
AdderFrame.getContentPane().add(TOprand1);
AdderFrame.getContentPane().add(LAdd);
AdderFrame.getContentPane().add(TOprand2);
AdderFrame.getContentPane().add(LSum);
AdderFrame.getContentPane().add(BAdd);
AdderFrame.pack();
AdderFrame.setVisible(true);
//为命令按钮添加事件监听器,监听器的实参是Adder类的对象BAdd.addActionListener(this);
public void actionPerformed(ActionEvent event)
{
//事件服务代码
i=(i+1)%2;
if(i==1)
{//i为奇数,求和
int sum=(int)(Double.valueOf(TOprand1.getText()).doubleValue()+Double.valueOf(TOprand2.getText()).doubleValue());
LSum.setText("="+sum);
}
else{//i为偶数,清零
TOprand1.setText("0.0");
TOprand2.setText("0.0");
LSum.setText("=");
};
}
//主视窗关闭的事件处理
AdderFrame.addWindowListener(new WindowAdapter()
public void WindowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
Adder adder=new Adder();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Adder implements ActionListener
{
JFrame AdderFrame;
JTextField TOprand1;//被加数
JTextField TOprand2;//加数
JLabel LAdd,LSum;//加号,和
JButton BAdd;//Add!按钮
int i=0;
public Adder()
{//建立图形界面的屏幕显示部分
AdderFrame=new JFrame("AdderFrame");
TOprand1=new JTextField("0.0");
LAdd=new JLabel("+");
LSum=new JLabel("= ");
BAdd=new JButton("Add!");
AdderFrame.getContentPane().setLayout(new FlowLayout());
AdderFrame.getContentPane().add(TOprand1);
AdderFrame.getContentPane().add(LAdd);
AdderFrame.getContentPane().add(TOprand2);
AdderFrame.getContentPane().add(LSum);
AdderFrame.getContentPane().add(BAdd);
AdderFrame.pack();
AdderFrame.setVisible(true);
//为命令按钮添加事件监听器,监听器的实参是Adder类的对象BAdd.addActionListener(this);
public void actionPerformed(ActionEvent event)
{
//事件服务代码
i=(i+1)%2;
if(i==1)
{//i为奇数,求和
int sum=(int)(Double.valueOf(TOprand1.getText()).doubleValue()+Double.valueOf(TOprand2.getText()).doubleValue());
LSum.setText("="+sum);
}
else{//i为偶数,清零
TOprand1.setText("0.0");
TOprand2.setText("0.0");
LSum.setText("=");
};
}
//主视窗关闭的事件处理
AdderFrame.addWindowListener(new WindowAdapter()
public void WindowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
Adder adder=new Adder();
}
}
import java.awt.event.*;import javax.swing.*;public class Adder implements ActionListener {
JFrame AdderFrame; JTextField TOprand1;// 被加数 JTextField TOprand2;// 加数 JLabel LAdd, LSum;// 加号,和 JButton BAdd;// Add!按钮 int i = 0; public Adder() { // 建立图形界面的屏幕显示部分
AdderFrame = new JFrame("AdderFrame");
TOprand1 = new JTextField("0.0");
TOprand2 = new JTextField("0.0");
LAdd = new JLabel("+");
LSum = new JLabel("= ");
BAdd = new JButton("Add!");
AdderFrame.getContentPane().setLayout(new FlowLayout());
AdderFrame.getContentPane().add(TOprand1);
AdderFrame.getContentPane().add(LAdd);
AdderFrame.getContentPane().add(TOprand2);
AdderFrame.getContentPane().add(LSum);
AdderFrame.getContentPane().add(BAdd);
AdderFrame.pack();
AdderFrame.setVisible(true); BAdd.addActionListener(this); // 主视窗关闭的事件处理
AdderFrame.addWindowListener(new WindowAdapter() {
public void WindowClosing(WindowEvent e) {
System.exit(0);
}
});
} // 为命令按钮添加事件监听器,监听器的实参是Adder类的对象BAdd.addActionListener(this);
public void actionPerformed(ActionEvent event) {
// 事件服务代码
i = (i + 1) % 2;
if (i == 1) {// i为奇数,求和
int sum = (int) (Double.valueOf(TOprand1.getText()).doubleValue() + Double
.valueOf(TOprand2.getText()).doubleValue());
LSum.setText("=" + sum);
} else {// i为偶数,清零
TOprand1.setText("0.0");
TOprand2.setText("0.0");
LSum.setText("=");
}
} public static void main(String[] args) {
Adder adder = new Adder();
}
}这样可以了,但是关闭窗口的事件处理好像有点问题,Java界面的没接触过,知道的就这么多了
找本好点的书吧,垃圾教材害死人,一堆的错下面是我改过的代码
****************************/import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Adder implements ActionListener{
JFrame AdderFrame;
JTextField TOprand1; //被加数
JTextField TOprand2; //加数
JLabel LAdd, LSum; //加号,和
JButton BAdd; //Add!按钮
int i = 0;
public Adder (){
AdderFrame = new JFrame("AdderFrame");
TOprand1 = new JTextField("0.0");
TOprand2 = new JTextField("0.0");
LAdd = new JLabel("+");
LSum = new JLabel("= ");
BAdd = new JButton("Add!");
AdderFrame.getContentPane().setLayout(new FlowLayout());
AdderFrame.getContentPane().add(TOprand1);
AdderFrame.getContentPane().add(LAdd);
AdderFrame.getContentPane().add(TOprand2);
AdderFrame.getContentPane().add(LSum);
AdderFrame.getContentPane().add(BAdd);
AdderFrame.pack();
AdderFrame.setVisible(true); AdderFrame.addWindowListener(new WindowAdapter(){
public void WindowClosing(WindowEvent e){
System.exit(0);
}
});
} public void actionPerformed(ActionEvent event){ i = (i + 1) % 2;
if (i == 1){
int sum = (int) (Double.valueOf(TOprand1.getText()).doubleValue() +
Double.valueOf(TOprand2.getText()).doubleValue());
LSum.setText("=" + sum);
} else{
TOprand1.setText("0.0");
TOprand2.setText("0.0");
LSum.setText("=");
}
;
} public static void main(String[] args){
Adder adder = new Adder ();
}
}
没有初使化就用了
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Adder implements ActionListener
{
JFrame AdderFrame;
JTextField TOprand1;//被加数
JTextField TOprand2;//加数
JLabel LAdd,LSum;//加号,和
JButton BAdd;//Add!按钮
int i=0;
public Adder()
{//建立图形界面的屏幕显示部分
AdderFrame=new JFrame("AdderFrame");
TOprand1=new JTextField("0.0");
TOprand2=new JTextField("0.0");
LAdd=new JLabel("+");
LSum=new JLabel("= ");
BAdd=new JButton("Add!");
AdderFrame.getContentPane().setLayout(new FlowLayout());
AdderFrame.getContentPane().add(TOprand1);
AdderFrame.getContentPane().add(LAdd);
AdderFrame.getContentPane().add(TOprand2);
AdderFrame.getContentPane().add(LSum);
AdderFrame.getContentPane().add(BAdd);
AdderFrame.pack();
AdderFrame.setVisible(true);
//为命令按钮添加事件监听器,监听器的实参是Adder类的对象BAdd.addActionListener(this);
public void actionPerformed(ActionEvent event)
{
//事件服务代码
i=(i+1)%2;
if(i==1)
{//i为奇数,求和
int sum=(int)(Double.valueOf(TOprand1.getText()).doubleValue()+Double.valueOf(TOprand2.getText()).doubleValue());
LSum.setText("="+sum);
}
else{//i为偶数,清零
TOprand1.setText("0.0");
TOprand2.setText("0.0");
LSum.setText("=");
};
}
//主视窗关闭的事件处理
AdderFrame.addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
Adder adder=new Adder();
}
}
public void action performed(ActionEvent event)
1 error
import java.awt.event.*;
import javax.swing.*;public class Adder implements ActionListener {
JFrame AdderFrame; JTextField TOprand1;// 被加数 JTextField TOprand2;// 加数 JLabel LAdd, LSum;// 加号,和 JButton BAdd;// Add!按钮 int i = 0; public Adder() { // 建立图形界面的屏幕显示部分
AdderFrame = new JFrame("AdderFrame");
TOprand1 = new JTextField("0.0");
TOprand2 = new JTextField("0.0");
LAdd = new JLabel("+");
LSum = new JLabel("= ");
BAdd = new JButton("Add!");
AdderFrame.getContentPane().setLayout(new FlowLayout());
AdderFrame.getContentPane().add(TOprand1);
AdderFrame.getContentPane().add(LAdd);
AdderFrame.getContentPane().add(TOprand2);
AdderFrame.getContentPane().add(LSum);
AdderFrame.getContentPane().add(BAdd);
AdderFrame.pack();
AdderFrame.setVisible(true);
//为命令按钮添加事件监听器,监听器的实参是Adder类的对象
BAdd.addActionListener(this);
}
public void actionPerformed(ActionEvent event) {
// 事件服务代码
i = (i + 1) % 2;
if (i == 1) {// i为奇数,求和
int sum = (int) (Double.valueOf(TOprand1.getText()).doubleValue() + Double
.valueOf(TOprand2.getText()).doubleValue());
LSum.setText("=" + sum);
} else {// i为偶数,清零
TOprand1.setText("0.0");
TOprand2.setText("0.0");
LSum.setText("=");
}
; // 主视窗关闭的事件处理
AdderFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
} public static void main(String[] args) {
Adder adder = new Adder();
}
}
这样就可以了
增加了一句
BAdd.addActionListener(this); // 注册事件 你没这个PS: 命名看的很别扭
===============以下为修改后的代码=====import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Adder implements ActionListener {
JFrame AdderFrame; JTextField TOprand1;// 被加数 JTextField TOprand2;// 加数 JLabel LAdd, LSum;// 加号,和 JButton BAdd;// Add!按钮
int i = 0; public Adder() { // 建立图形界面的屏幕显示部分
AdderFrame = new JFrame("AdderFrame");
TOprand1 = new JTextField("0.0");
TOprand2 = new JTextField("0.0");
LAdd = new JLabel("+");
LSum = new JLabel("= ");
BAdd = new JButton("Add!");
AdderFrame.getContentPane().setLayout(new FlowLayout());
AdderFrame.getContentPane().add(TOprand1);
AdderFrame.getContentPane().add(LAdd);
AdderFrame.getContentPane().add(TOprand2);
AdderFrame.getContentPane().add(LSum);
AdderFrame.getContentPane().add(BAdd);
AdderFrame.pack();
AdderFrame.setVisible(true);
BAdd.addActionListener(this); // 注册事件 你没这个
} // 为命令按钮添加事件监听器,监听器的实参是Adder类的对象BAdd.addActionListener(this);
public void actionPerformed(ActionEvent event) {
// 事件服务代码
i = (i + 1) % 2;
if (i == 1) {// i为奇数,求和
int sum = (int) (Double.valueOf(TOprand1.getText()).doubleValue() + Double
.valueOf(TOprand2.getText()).doubleValue());
LSum.setText("=" + sum);
} else {// i为偶数,清零
TOprand1.setText("0.0");
TOprand2.setText("0.0");
LSum.setText("=");
}
; // 主视窗关闭的事件处理
AdderFrame.addWindowListener(new WindowAdapter() {
public void WindowClosing(WindowEvent e) {
System.exit(0);
}
});
} public static void main(String[] args) {
Adder adder = new Adder();
}
}