我正在使用 getGraphics、drawLine 和 fillOval 命令在 JPanel 上绘图,但运行程序时它非常不稳定。但是,当我调试它时,它每次都会绘制。
draw.drawPoints(drawing.getGraphics(), xCoord, yCoord);
通话:
public void drawPoints (Graphics g, int x, int y){
g.setColor(Color.red);
g.fillOval(x, y, 5, 5);
}
编辑:它不会总是绘制。大部分时间都是空白。
最佳答案
I am drawing onto a JPanel using getGraphics
您不应该通过从 drawing.getGraphics()
获取 Graphics
对象来在 JPanel
上绘制内容。
相反,您应该重写 paintComponent(Graphics g)
方法并在那里进行绘画。
一个帮助您入门的简单示例:
container.add(new JPanel() {
public void paintComponent(Graphics g) {
drawPoints(g, xCoord, yCoord);
}
});
关于java - 绘制的图像不会停留在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4239167/