0

我想知道您是否可以帮助我了解我的程序结构。我正在用 Java 制作游戏,我有 2 个类。1 类是一个图形类,它用一个paint 方法扩展了 JFrame:

图形类 paint() 并调用使用 JFrame 作为参数的各种对象。类内部是一个实现 MouseListener 和 Mouse Motion Listener 的子类,它与paint方法交互。

画布类我计划将第一个类嵌入到一个更大的画布类中,该类将具有按钮、面板等,因此基本上将该类用作更大程序中的一个较小(子程序)。这可能吗/我这样做是否正确。每当我尝试在画布类中调用图形类时,图形都不会出现。

    public Canvas(){
    graphic = new Graphic(name);

}
/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    Canvas canvas = new Canvas();
            canvas.setDefaultCloseOperation(EXIT_ON_CLOSE);
            canvas.setSize(1500, 1500);
    canvas.setVisible(true);
}

任何帮助/指导将不胜感激。我只是想主要知道我是否正确地考虑了图形编程。

4

1 回答 1

1

Canvas不是“窗口”。为了在屏幕上显示任何内容,必须将组件添加到窗口委托。

我个人会避免覆盖paint顶级容器的方法。这样做的主要原因是顶级容器不是双缓冲的,它会降低您的应用程序的可移植性。将一个组件添加到其他组件要容易得多,一个框架是非常最终的。

我也会JPanel在 Canvas 上使用,因为JPanel它是双缓冲的。

于 2013-03-11T07:23:14.127 回答