リスナーを含むJComponentがあります。JComponentで大きな画像を描画し、マウスリスナーがクリックが発生する場所に小さな画像を追加します(いくつかのドットを追加した1つの大きなマップ)。
paintComponentメソッドの外にプログラムで何かを描画するにはどうすればよいですか?
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(img1, 0, 0, this);
g2.finalize();
}
private MouseListener listener;
public void initListener() {
myCanvas = this;
listener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
myCanvas.getGraphics().drawImage(img,e.getX(),e.getY(), myCanvas);
}
};
addMouseListener(listener);
}
私の問題はこれにあります:
public void drawDot(int x, int y){
myCanvas.getGraphics().drawImage(img, x, y, myCanvas);
}
何もしません。repaint()を試しました。