2
我想創建一個JFrame,它顯示從文件路徑到JFrame上特定位置的圖像。稍後(點擊一個按鈕時),我希望圖像移動位置,例如向左移動50個像素。如果佈局管理器是必要的,我想使用空佈局,因爲這是我自己的項目,我還沒有準備好學習如何編寫我自己的佈局管理器。在JFrame中手動定位圖像
到目前爲止,我已經設法在一個框架中顯示一個BufferedImage,但我不知道如何指定它的位置。
即使正確的方法是使用BufferedImage?做這件事的最好方法是什麼?
更新:我試圖按照您使用的MouseListener的建議,並造成了這一點:
class ImgComponent extends JComponent implements ChangeListener, MouseListener {
MovableImage mi;
public ImgComponent(MovableImage mi) {
this.mi = mi;
mi.addListener(this);
mi.addListener1(this);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(mi.i, mi.getX(), mi.getY(), null);
}
@Override
public void stateChanged(ChangeEvent e) {
repaint();
}
@Override
public void mouseClicked(MouseEvent e) {
mi.setPos(100, 100);
System.out.println("yay");
}
}
但unfortinely,該事件的mouseClicked從未觸發。我只想讓那個該死的圖片移動,哈哈。
非常感謝!在分手並添加評論之前,這有點令人困惑。這些非常有幫助。只有問題:是否可以添加監聽器到圖片上,所以如果你點擊圖片本身,它會移動? – user1386318
是的,這是可能的;-)我建議你添加一個鼠標監聽器到ImgComponent並對點擊作出相應的反應。 – aioobe
非常感謝您的幫助。 :D – user1386318