Topic: 不知道为什么无法显示运行结果,程序是对的

  Print this page

1.不知道为什么无法显示运行结果,程序是对的 Copy to clipboard
Posted by: zhjdenis
Posted on: 2007-09-27 21:37

我用的是ECLIPSE,程序没有问题,可就是无法显示运行后出现的画面,是不是我的ECLIPSE有问题啊?不知道为什么?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;

public class Goodlucky extends JFrame implements ActionListener {
JTextField tf=new JTextField();
JButton b1=new JButton("start");
JButton b2=new JButton("stop");
boolean isgo=false;
public Goodlucky()
{
  b1.setActionCommand("start");
  b2.setActionCommand("stop");
  JPanel p=new JPanel();
  p.add(b1);
  p.add(b2);
  b1.addActionListener(this);
  b2.addActionListener(this);
  b2.setEnabled(false);
  this.getContentPane().add(tf,"North");
  this.getContentPane().add(p,"South");
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setSize(300, 200);
  this.setLocation(300, 300);
  Cursor cu=new Cursor(Cursor.HAND_CURSOR);
  this.setCursor(cu);
  tf.setText("welcome you! ");
  this.go();
}
public void go()
{
  while(true)
  {
    if(isgo==true)
    {
      String s="";
      for(int j=0;j<7;j++)
      {
        int i=(int)(Math.random()*36)+1;
        if(i<10)
          s=s+" 0"+i;
        else
          s=s+" "+i;
      }
      tf.setText(s);
    }
    try
    {
      Thread.sleep(100);
    }catch(java.lang.InterruptedException e)
    {
      e.printStackTrace();
    }
  }
}
  public void actionPerformed(ActionEvent e)
  {
    // TODO 自动生成方法存根
String s=e.getActionCommand();
if(s.equals("start"))
{
  isgo=true;
  b1.setEnabled(false);
  b2.setEnabled(true);
}
else
{
  isgo=false;
  b1.setEnabled(true);
  b2.setEnabled(false);
}
  }

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自动生成方法存根
new Goodlucky();
  }

}

2.Re:不知道为什么无法显示运行结果,程序是对的 [Re: zhjdenis] Copy to clipboard
Posted by: hubmygirl
Posted on: 2007-09-28 06:35

package rescource;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;

public class Goodlucky extends JFrame implements ActionListener {
  JTextField tf = new JTextField();
  JButton b1 = new JButton("start");
  JButton b2 = new JButton("stop");
  boolean isgo = false;

  public Goodlucky() {
    b1.setActionCommand("start");
    b2.setActionCommand("stop");
    JPanel p = new JPanel();
    p.add(b1);
    p.add(b2);
    b1.addActionListener(this);
    b2.addActionListener(this);
    b2.setEnabled(false);
    this.getContentPane().add(tf, "North");
    this.getContentPane().add(p, "South");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    Cursor cu = new Cursor(Cursor.HAND_CURSOR);
    this.setCursor(cu);
    tf.setText("welcome you! ");
    this.setSize(300, 200);
    this.setLocation(300, 300);
    this.setVisible(true);
    this.go();
    
  }

  public void go() {
    while (true) {
      if (isgo == true) {
        String s = "";
        for (int j = 0; j < 7; j++) {
          int i = (int) (Math.random() * 36) + 1;
          if (i < 10)
            s = s + " 0" + i;
          else
            s = s + " " + i;
        }
        tf.setTextMoon;
      }
      try {
        Thread.sleep(100);
      } catch (java.lang.InterruptedException e) {
        e.printStackTrace();
      }
    }
  }

  public void actionPerformed(ActionEvent e) {
  
    String s = e.getActionCommand();
    if (s.equals("start")) {
      isgo = true;
      b1.setEnabled(false);
      b2.setEnabled(true);
    } else {
      isgo = false;
      b1.setEnabled(true);
      b2.setEnabled(false);
    }
  }

  /**
   * @param args
   */
  public static void main(String[] args) {
  
    new Goodlucky();
  }

}
你的代码需要调整语句,加上this.setVisible(true);

3.Re:不知道为什么无法显示运行结果,程序是对的 [Re: zhjdenis] Copy to clipboard
Posted by: zhjdenis
Posted on: 2007-09-28 20:27

谢谢了,我还想问一下该程序并为使用THREAD的多线程操作,可是为什么可以使用THREAD。SLEEP(100)语句呢?难道主程序也默认是一个线程么?多谢指教!!

4.Re:不知道为什么无法显示运行结果,程序是对的 [Re: zhjdenis] Copy to clipboard
Posted by: JiafanZhou
Posted on: 2007-10-02 15:55

Yes, sleep is invoked so that other thread can have a change to use the CPU resource.

Regards,
Jiafan


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923