線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1039
推到 Plurk!
推到 Facebook!

Java 一問?

尚未結案
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-03 12:18:37 IP:203.198.xxx.xxx 未訂閱
請問VB上有一procedure叫DoEvents(),而delphi又有類似procedure叫Application.ProcessMessage 那麼Java又有沒類似method呢? (註:懂VB/dephi的朋友,應該知我問什麼) 發表人 - superlowb 於 2003/11/03 12:21:38
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-03 13:54:45 IP:61.64.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?topic_id=36520
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-03 16:37:58 IP:203.198.xxx.xxx 未訂閱
多謝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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-03 18:32:35 IP:61.64.xxx.xxx 未訂閱
我是沒有時間去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){        }
   }
 }    }
系統時間:2024-05-10 0:31:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!