我有一个扩展JPanel的WorldManager类,并且具有:
public void paint(Graphics g) {}
我想要做的是拥有单独的类,比如具有自己的paint方法的世界类,并且能够像这样调用类绘制方法:
public void paint(Graphics g) { world1.paint(); hero.paint(); }
答案 0 :(得分:2)
原则上,您的方法没有任何问题。
注意到 trashgod ,您应该覆盖paintComponent方法而不是paint方法。
article linked by trashgod中注明了这一点的原因:这样,paintBorder()
和paintChildren()
方法可以对边框和子组件进行绘制,您可以自由地使用只考虑真实的内容。
以下是一个例子:
class WorldManager extends JPanel
{
private World world1;
private Person hero;
public void paintComponent(Graphics g) {
super.paintComponent(); // paints the background, if opaque
world.paint(g);
hero.paint(g);
}
}
那么,你的问题究竟是什么?