如何实现java awt / swing应用程序

时间:2012-02-14 14:33:39

标签: java swing awt

我想实现一个java awt / swing应用程序,但我是awt / swing的新手。我需要画一个像面板一样的网格。比拖放一些物体。对象之后可以是可点击和可调整大小的。我的应用程序应如下所示:

desired output

我可以用以下方式绘制对象:

public void paint(Graphics g){}

但它离我想做的事情太远了。

我该如何实现这种应用?我应该读什么,知道怎么做?

3 个答案:

答案 0 :(得分:2)

首先,我一定会关注Swing教程:

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

  • 从JFrame上的JPanel开始。
  • 将JComponent添加到网格的面板中。覆盖那里的paintComponent方法以绘制网格。
  • 为您的对象添加其他JComponents。同样,覆盖paintComponent方法,以便绘制对象的外观。
  • 然后,您可以使用JComponent提供的内置功能来允许单击,调整大小等。然后,您可以重新绘制组件以考虑下次调用{{{}时需要显示的任何更改。 1}} - 如果需要强制重绘,请调用paintComponent

答案 1 :(得分:2)

请不要使用public void paint(Graphics g){}此方法适用于AWT ComponentsBasicXxxUI,因为Swing JComponents void paintComponent(Graphics g){}中的方法是公共{{1}}更多}

答案 2 :(得分:2)

你需要从头开发一切吗?

对于绘画,点击机制等,你可以只使用PlayN的PlayN ...

但如果你想使用挥杆功能......我不确定你是否可以将playN与swing混合......

但是如果你只依赖于GraphicsAPI ......那么你需要查看几件事。

用于绘图的小图形设置,具有精确定位功能(简单的碰撞检测),因此您可以在点击时检查每个对象。通过简单的引擎轻松管理运动和重新涂漆......

Here is really good page