我想实现一个 java awt/swing 应用程序,但我是 awt/swing 的新手。我需要画一个像面板一样的网格。比拖放一些对象在上面。后来对象可以点击和调整大小。我的应用程序应如下所示:
我可以用以下方法绘制对象:
public void paint(Graphics g){}
但是离我想做的太远了。
我怎样才能实现这种应用程序?为此,我应该阅读和了解哪些内容?
最佳答案
首先,我一定要遵循 Swing 教程:
- http://docs.oracle.com/javase/tutorial/uiswing/components/
- http://docs.oracle.com/javase/tutorial/uiswing/
然后,我会重新审视一下您的方法:我会使用 Swing 组件。
- 从 JFrame 上的 JPanel 开始。
- 为您的网格添加一个 JComponent 到面板。覆盖那里的
paintComponent
方法以绘制网格。 - 在上面为您的对象添加其他 JComponent。同样,重写
paintComponent
方法以绘制对象的外观。 - 然后您可以使用 JComponent 提供的内置功能来允许单击、调整大小等。对于每个事件,您可以重新绘制组件以说明您需要在下一次调用
paintComponent
时显示的任何更改 -必要时调用repaint
强制重绘。
关于java - 如何实现java awt/swing应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9278680/