首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不使用这个更简单的Java图形实现?

为什么不使用这个更简单的Java图形实现?
EN

Stack Overflow用户
提问于 2013-04-13 10:36:23
回答 1查看 146关注 0票数 1

我一直在阅读Java图形,所有的指南似乎都指向了更复杂的图形在Java中的实现;读了一点关于repaint()的内容,我想出了这部分代码,这似乎适用于我测试过的一小部分代码-

代码语言:javascript
复制
import javax.swing.*;
import java.awt.*;

public class Boids extends JFrame{

     public Boids(){
        setSize(400,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);   
     }

     public static void main(String[] a){
        Boids boids = new Boids();
        while(true) {
            boids.repaint();
        }
     }

     public void paint(Graphics g){
        // The code for Boids
     }
}

我的问题是:这段代码在某种程度上是不是很糟糕?以后会伤害到我吗?如果没有,为什么不使用它,因为它看起来比我见过的其他代码版本更简单、更短。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-13 10:38:57

  • 你的评论表明你可能在paint(...)方法中有程序逻辑,这是永远不应该做的事情,因为你不能完全控制何时或是否调用这个方法。
  • 你写的代码对动画循环没有计时控制。
  • 你的代码可能会与Swing线程规则冲突。
  • 你直接在JFrame中绘制,这也是应该努力避免的事情,因为这可能会扰乱JFrame的许多职责。而是在JComponent或JPanel的paintComponent方法中绘制。

我不记得是谁说的,可能是H.L. Menken,但它是这样的:“对于每个复杂的问题,都有一个明确、简单和错误的解决方案。”

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15983605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档