0
我是很新的顯卡,擁有Java,所以只問是否需要任何額外的信息:)使用重繪()
我想根據點擊鼠標在哪裏畫的形狀與參數調用的paintComponent()屏幕。因此,我需要將點擊的位置的x和y座標傳遞給paintComponent()
方法,以便它知道在哪裏繪製形狀。
public void mouseClicked(MouseEvent e) {
System.out.println("Adding Shape");
repaint();
}
class CanvasDrawArea extends JPanel{
//this should run when the program first starts
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
canvas.setBackground(CANVAS_COLOR);
}
//here is where the question is
public void paintComponent(Graphics g, int x, int y){
super.paintComponent(g);
g.fillRect(x, y, RECTANGLE_WIDTH, RECTANGLE_HEIGHT);
}
}
基本上我試圖通過使一個超負荷的paintComponent運行正確的程序通過調用repaint()
/pack()
方法開始時,和一個當我給它的X和Y座標將運行。然而,我不確定我應該如何去傳遞x和y參數,因爲在repaint()
方法中沒有辦法通過它們。
謝謝!沒有意識到我應該只使用一個類變量... – TwoShorts