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