Java 一問? |
尚未結案
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
|
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
多謝neoart,其實我的問題是這樣問的.......
JFrame 上有個timer(gtmr)和一個JLabel(lb) 這個program是當個timer啟動時在gtmrActionPerformed()就會每一秒把variable gNum 顯示在lb上,之後加1
好奇怪的是它不是顯示1,2,3,4,5,6...,而是1,3,5,7,9....Why?
為了測試我的程式沒有錯誤,所以我把它一同顯示在Dos Prompt上
System.out.println(gNum);
結果顯示能夠輸出1,2,3,4,5,6.....
Why?
import java.awt.event.*; import javax.swing.*; class testtimer extends JFrame implements ActionListener { public Timer gtmr=new Timer(1000,this); public JLabel lb=new JLabel("Time"); static int gNum=0; public testtimer() { getContentPane().add(lb); gtmr.addActionListener(this); setSize(300,400); startTimer(); } public static void main(String arg[]) { testtimer t=new testtimer(); t.show(); } public void startTimer() { gtmr.start(); } public void actionPerformed(ActionEvent evt) { Object lsrc=evt.getSource(); if (lsrc==gtmr) gtmrActionPerformed(evt); } private void gtmrActionPerformed(ActionEvent evt) { System.out.println(gNum); lb.setText(Integer.toString(gNum)); gNum ; } } |
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
我是沒有時間去debug你的code了.
以下是我習慣的寫法,main請自行加入了.
比較一下,也許你知道差異吧.
import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*; class Frame1 extends JFrame implements Runnable { JLabel jLabel1 = new JLabel(); int secCount=0; public Frame1() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } Thread athread=new Thread(this); athread.start(); } private void jbInit() throws Exception { jLabel1.setBackground(Color.white); jLabel1.setOpaque(true); jLabel1.setText(""); jLabel1.setBounds(new Rectangle(89, 81, 165, 31)); this.getContentPane().setLayout(null); this.getContentPane().add(jLabel1, null); } public void run(){ while(true){ try{ jLabel1.setText(String.valueOf(++ secCount)); Thread.currentThread().sleep(1000); }catch(Exception e){ } } } } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |