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.setText; } 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 |