import java.applet.Applet;
import java.awt.*;
public class Random extends Applet{
public void paint(Graphics g){
setLayout(new GridLayout(3,1));
Label label=new Label("Guess a number between 1 and 10");
add(label);
Label text=new Label();
add(text);
TextField text1=new TextField();
add(text1);
setVisible(true);
}
}
import java.awt.*;
public class Random extends Applet{
public void paint(Graphics g){
setLayout(new GridLayout(3,1));
Label label=new Label("Guess a number between 1 and 10");
add(label);
Label text=new Label();
add(text);
TextField text1=new TextField();
add(text1);
setVisible(true);
}
}
import java.applet.Applet;
import java.awt.*;
public class Random extends Applet{
Label label=new Label("Guess a number between 1 and 10");
Label text=new Label();
TextField text1=new TextField();
public void init() {
setLayout(new GridLayout(3,1));
add(label);
add(text);
add(text1);
setVisible(true);
}
public void paint(Graphics g){ }
}
不过最好是放在init()里面,具体的画图操作等就入在paint中
import java.awt.event.*;
import java.awt.*;
public class Random extends Applet implements ActionListener{
private Label label;
private Label text;
private TextField text1;public void init(){
this.setLayout(new GridLayout(3,1));//为什么必须要this指针
Label label=new Label("Guess a number between 1 and 10");
this.add(label);
Label text=new Label();
this.add(text);
TextField text1=new TextField();
text1.addActionListener(this);
this.add(text1);
//setVisible(true);没有也行
}
public void actionPerformed(ActionEvent e){
//if(e.getSource()==text1){
try{
int s=Integer.parseInt(text1.getText());
int r=(int)(10*Math.random());
if(s==r){
text.setText("Congratulations!You guessed the right number");text1.setText("");}else if(s>r){text.setText("Too high,try again");text1.setText("");}else{text.setText("Too low,try again");text1.setText("");}
}catch(NumberFormatException nfe){
text.setText("你输入的数据格式有误");
}
finally{}
}
//}
//public int random(){
//int x=(int)(10*Math.random());
//return x;
//}
}J:\kcxj>appletviewer Random.html
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at Random.actionPerformed(Random.java:23)
at java.awt.TextField.processActionEvent(TextField.java:596)
at java.awt.TextField.processEvent(TextField.java:564)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
为什么在回车时出这样的异常,在text上出现不了文字
Label label=new Label("Guess a number between 0 and 9");
Label text=new Label();
TextField text1=new TextField();这是什么,你定义这些局部对象只在本方法中有用,成员变量你还没有初始化呢,所以就
没说非要不可啊。。//setVisible(true);没有也行
你在稍微老点版本的JDK中运行可能上面的一些组件就显示不出来了。。
import java.awt.event.*;
import javax.swing.*;public class Test extends JFrame{
private JPanel panel;
private JButton button;
private static int count = 1;
public Test(){
super("Test Set Button Color");
panel = new JPanel();
button = new JButton("Change Color");
panel.setLayout(new BorderLayout()); button.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
if (count%2 == 1)
button.setBackground(Color.green);
else
button.setBackground(Color.red);
count ++;
}
}
);
panel.add(button, BorderLayout.CENTER);
setLayout(new BorderLayout());
add(panel, BorderLayout.CENTER);
setSize(250, 100);
setVisible(true);
}
public static void main(String args[]){
new Test();
}
}
import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;
public class Random extends Applet implements ActionListener{
public int r=(int)(10*Math.random());
private Label label=new Label("Guess a number between 1 and 10");
private Label text=new Label();
private TextField text1=new TextField();private Boolean bj=false;public void init(){
setLayout(new GridLayout(3,1));//在局部方法中为什么必须要this指针
add(label);
add(text);
text1.addActionListener(this);
add(text1);
}public void actionPerformed(ActionEvent e){
if(bj==false){try{
int s=Integer.parseInt(text1.getText());if(s==r){bj=true;
text.setText("Congratulations!You guessed the right number");text1.setText("");}else if(s>r){text.setText("Too high,try again");text1.setText("");}else{text.setText("Too low,try again");text1.setText("");}
}catch(NumberFormatException nfe){
text.setText("你输入的数据格式有误");}
finally{} }
else{
r=(int)(10*Math.random());bj=false;
}}
}