java - 使 JFrame 不重绘

标签 java swing jframe repaint

我试图不用 Java 重新绘制我的窗口。我有:

public void paint(Graphics g) {
        super.paint(g);
        Graphics2D g2d = (Graphics2D) g;
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        ball.paint(g2d);

    }

并且在主要部分:

while (true) {
            game.move();
            game.repaint();
            Thread.sleep(10);
        }

我的 JFrame 是窗口,我尝试过 window.setIgnoreRepaint(true); 但没有任何变化。你能帮我一下吗?谢谢:)

最佳答案

while (true) {
        game.move();
        game.repaint();
        Thread.sleep(10);
    }

必须替换为

            Timer t=new Timer(10,new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    game.move();
                    game.repaint();
                }
            });
            t.start();

并覆盖内容 Pane 的paintComponent()。

关于java - 使 JFrame 不重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23055835/

相关文章:

Java 7 - Files.copy 复制空文件

java - 多次向每个项目添加jar文件

java - Swing 应用程序跨平台的 UI 变化

Java Swing 重绘和重新验证并不总是有效

java - jframe配置与mySQL连接关系

java - 使用注释属性的方面切入点

java - 使用存储访问框架打开特定路径

java - 将添加的字符串项保存到 ComboBox

java - 令人困惑的异常 :ClassCastException

java - 如何对图像执行 'undraw' 操作?