看板 java 關於我們 聯絡資訊
已爬文,可用Thread解決, 可是想多知道一點關於java如何運作的, 有人能說明一下為什麼直接用for loop一直repaint行不通嗎? 感謝大家~"~ public void actionPerformed ( ActionEvent e ) { for ( int i = 0; i < n; i++ ) { // set value for drawing repaint(); for( int t = 0; t < delay; t++ ); } } public void paint( Graphics g ) { //draw somthing using data in for loop } 為什麼actionPerformed裡面的repaint只會執行一次啊? 我想呈現動態的圖,就是一直更新draw的參數一直畫,可是好像出了點問題, 但一直想不出問題點在哪~"~ 希望版上的強者們能幫幫忙。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.102.28
Gitangan:for( int t = 0; t < delay; t++ ); 這在幹嘛用的= = 04/16 02:36
ericsys3152:怕電腦太快拖一下時間~ 04/16 07:59
ericsys3152:剛剛又測試一下,repaint好像是整個for loop跑完才執 04/16 09:06
ericsys3152:行一次。 04/16 09:28
再問一個問題好了,在同一個action裡面, public void actionPerformed ( ActionEvent e ) { try { statusLabel.setText( "opening file" ); //有執行 // opening file System.out.println( "here" ); // 有執行 statusLabel.setText( "start simulating" ); //沒執行 for ( int i = 0; i < n; i++ ) { // set value for drawing repaint(); for( int t = 0; t < delay; t++ ); } statusLabel.setText( "finish simulating" ); //有執行 } catch( Exception e ) {} } 為什麼第二個setText沒有動作,一直想不出來... ※ 編輯: ericsys3152 來自: 140.116.102.28 (04/16 09:53) ※ 編輯: ericsys3152 來自: 140.116.102.28 (04/16 10:40)