作者mabi (魔人)
站內java
標題[急問] Repaint無作用..
時間Sat Nov 10 19:34:28 2007
我想寫一個button 按下去後圖片會移動
public class MyPanel extends JPanel 裡
public void paintComponent(Graphics g)
{
g.drawImage(back, 0, 0, this);
g.drawImage(abc,x,325,this);
}
public void paint(Graphics g)
{
g.drawImage(back, 0, 0, this);
g.drawImage(abc,x,325,this);
}
back和abc都是Image
Button 的 Handler
class buttonAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
Object object = event.getSource();
if (object == button)
button1_ActionPerformed(event);
}
}
void button1_ActionPerformed(java.awt.event.ActionEvent event)
{
button.setText("賽跑中");
button.setEnabled(false);
move();
}
public void move()
{
for (int i=0;i<50;i++)
{
image.setLocation(x+i, y);
image.repaint();
try
{
Thread.sleep(50);
}
catch(Exception ex) {}
}
}
image為Mypanel
作出的結果為Button按下去後,圖片一直沒更新,直到結束最後一個畫面才更新...
若小弟表達的不好這裡有完整程式
http://momo26.myweb.hinet.net/RSAJava.rar
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.96.197
※ 編輯: mabi 來自: 220.133.96.197 (11/10 19:36)
→ mabi:拜托大家,謝謝! 11/10 19:39
推 gamecubemomo:哭哭 11/10 19:49
推 H45:因為要呼叫的 repaint 不應該是 image, 所以不會出現預期狀況 11/10 21:19
推 H45:等會,我好像看錯了.... 11/10 21:24
推 TonyQ:Thread.sleep(50); 太短吧 XD 11/11 11:40