2012-02-14 54 views
1

我想实现一个java awt/swing应用程序,但是我对awt/swing很陌生。我需要绘制一个像面板一样的网格。拖放一些对象就可以了。比对象晚可以点击和调整大小。我的应用程序应该是这样的:如何实现java awt/swing应用程序

desired output

我能够得出物体:

public void paint(Graphics g){} 

但其过于远离了我想做的事情。

我该如何实现这种应用程序?我应该阅读并知道如何做到这一点?

回答

2

首先,我一定要跟着摇摆教程:

然后,我会重新审视你的方法一点:我会用Swing组件。

  • 从JFrame上的JPanel开始。
  • 将JComponent添加到您的网格的面板。重写那里的paintComponent方法来绘制网格。
  • 为您的对象添加其他JComponents。再次,覆盖paintComponent方法为那些绘制您的对象的外观。
  • 然后,您可以使用JComponent提供的内置功能来允许点击,调整大小等。对于每个事件,您可以重新绘制组件以考虑在下次调用paintComponent时需要显示的任何更改 - 必要时调用repaint强制重绘。
2

请不要使用public void paint(Graphics g){}这种方法对于AWT ComponentsBasicXxxUI,为Swing JComponents是有方法public void paintComponent(Graphics g){}Graphics tutorial

2

你需要制定一切从头开始?

适用于喷漆,点击力学等可以使用PlayN只是Java部分...

但是,如果你想使用摇摆功能来......我不知道你是否能与摆动混合playN。 ..

但是,如果你只依赖于GraphicsAPI awt ....比你需要查找几件事情。

用于绘图的小型图形设计,具有精确定位功能(简单的碰撞检测),因此您可以在点击时检查每个对象。用简单的发动机轻松管理机芯和重新喷漆...

Here is really good page

相关问题