2012-02-14 38 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

相關問題