作者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)
1F:→ mabi:拜托大家,谢谢! 11/10 19:39
2F:推 gamecubemomo:哭哭 11/10 19:49
3F:推 H45:因为要呼叫的 repaint 不应该是 image, 所以不会出现预期状况 11/10 21:19
4F:推 H45:等会,我好像看错了.... 11/10 21:24
5F:推 TonyQ:Thread.sleep(50); 太短吧 XD 11/11 11:40