Re: [急問] Repaint無作用..
要不要改用 Canvas?
畫布:
public class MyCanvas extends Canvas {
private Image image;
public void paint(final Graphics g) {
if (this.image != null) {
g.drawImage(this.image, 0, 0, this);
}
}
public void setImage(final Image image) {
this.image = image;
}
}
事件控制器:
private MyCanvas imageCanvas;
protected void readImage() {
final JFileChooser fileChooser = new JFileChooser();
final int state = fileChooser.showOpenDialog(null);
if (JFileChooser.APPROVE_OPTION == state) {
final File selectedFile = fileChooser.getSelectedFile();
try {
final BufferedImage image = ImageIO.read(selectedFile);
this.imageCanvas.setImage(image);
this.imageCanvas.repaint();
} catch (final IOException e) {
e.printStackTrace();
}
}
}
圖形介面 (JApplet):
private MyCanvas imageCanvas;
public void init() {
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(this.imageCanvas, BorderLayout.CENTER);
}
※ 引述《mabi (魔人)》之銘言:
: 我想寫一個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: 140.116.247.13
推
11/10 22:57, , 1F
11/10 22:57, 1F
→
11/10 23:00, , 2F
11/10 23:00, 2F
推
11/10 23:32, , 3F
11/10 23:32, 3F
→
11/10 23:33, , 4F
11/10 23:33, 4F
推
11/11 00:41, , 5F
11/11 00:41, 5F
推
11/11 02:06, , 6F
11/11 02:06, 6F
推
11/11 11:34, , 7F
11/11 11:34, 7F
推
11/11 15:13, , 8F
11/11 15:13, 8F
→
11/11 15:48, , 9F
11/11 15:48, 9F
→
11/11 15:48, , 10F
11/11 15:48, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):