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);
}
}

解决方案 »

  1.   


    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){  } 
    }
      

  2.   

    和你的效果是一样的啦。
    不过最好是放在init()里面,具体的画图操作等就入在paint中
      

  3.   

    import java.applet.Applet;
    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上出现不了文字
      

  4.   

    你看你在init()方法中都做了什么:
    Label label=new Label("Guess a number between 0 and 9"); 
    Label text=new Label(); 
    TextField text1=new TextField();这是什么,你定义这些局部对象只在本方法中有用,成员变量你还没有初始化呢,所以就
      

  5.   

    this.setLayout(new GridLayout(3,1));//为什么必须要this指针 
    没说非要不可啊。。//setVisible(true);没有也行 
    你在稍微老点版本的JDK中运行可能上面的一些组件就显示不出来了。。
      

  6.   

    我这个是之前写的 Frame里的 差不多的意思import java.awt.*;
    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();
    }
    }
      

  7.   

    太谢SF之父了,太谢SF之父了,太谢SF之父了,唉学了一日不用就全忘了,同时也要谢谢微笑猴子的热心关注
    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;
    }}
    }