java - 绘制的图像不会停留在屏幕上

标签 java swing drawing

我正在使用 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/

相关文章:

java - 尽管数组可能尚未初始化,但如何使我的代码编译无错误?

java - 将 MyObject 拖至 JTable (DnD)

java - 如何避免JFrame EXIT_ON_CLOSE操作退出整个应用程序?

r - 在图形上手动绘制

c# - 全屏覆盖桌面

Cucumber 测试包中的 java.lang.NoClassDefFoundError

java - 无法将键值对 XML 作为 java 首选项加载

java - 用Java绘制折线图

java - 为什么每次我再次启动计时器事件时,它的触发速度都会越来越快?

javascript - Google Maps v3 - 删除多边形上的顶点