2012-03-08 408 views
5

我想有一個單獨的圖形窗口(帶獨立笛卡爾座標沿着平面)使用的java.awt/javax.swing中的一個更大的窗口裏面,我已經開出picture向你展示我的意思。繪圖窗口中的JFrame

我不知道如何做到這一點,投擲某種文學的我,我可以看明白這更好的將是非常巨大的,與沿着我的問題的解決方案將是真棒。

PS。我沒有真正嘗試過任何東西,因爲我不知道該怎麼嘗試。

+2

你真的應該先去Swing教程並開始閱讀。閱讀JFrames,JPanels以及使用Swing繪圖。這應該給你一些關於從哪裏開始的好主意。您可以將這些教程作爲Java教程的一部分找到:[The Real Big Index](http://docs.oracle.com/javase/tutorial/reallybigindex.html)。投票結束這個問題對於StackOverflow來說過於寬泛和模糊。 – 2012-03-08 19:43:14

+0

有人提到使用內部框架 - 壞主意。 改爲使用JPanel通過重寫其paintComponent方法來繪製,然後使用適當的佈局管理器放置在JPanel中,就這些了。再次,教程將向您解釋所有這些。 – 2012-03-08 19:49:22

+0

偉大的描述(圖)順便說一句。一張圖片描繪了千言萬語,該圖像<11Kb。 :) – 2012-03-09 05:22:46

回答

4

我建議下載NetBeans的下手,因爲它是UI設計,我知道最簡單的IDE。

  1. 從創建應用程序的主框架開始。
  2. 添加所需的所有按鈕,並將它們放置在主畫面的圖片中。
  3. JPanel添加到您的框架,並將其稱爲drawingCanvasPanel。該面板將成爲繪圖區。不要忘記改寫面板的painComponent方法,在該方法中,您將使用面板的Graphics繪製自定義圖形和形狀。
+3

適用於NetBeans的+1。 @Johan:不要屈服於GUI編輯器的魅力,直到你理解[佈局](http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)。 – trashgod 2012-03-08 20:05:46

+0

聽起來很簡單,我會谷歌一點點了解更多。 @trashgod:是的,這正是我要做的事情(使用佈局)。 在Netbeans的建議:謝謝,但我會留在Emacs,這是我習慣了,它的作品足夠好。 – Johan 2012-03-08 20:10:38

+0

@Johan很高興它幫助:)與Emacs祝你好運,有沒有更好的方式來理解佈局,而不是玩弄原始佈局代碼(而不是IDE爲你做所有的工作:)) – GETah 2012-03-08 20:43:29

-1

您可以使用內部框架,如何使用它,請參閱official tutorial

+0

不,這絕對不是應該使用內部框架的情況。嵌套JPanels是的,但沒有理由創建內部框架。 – 2012-03-08 19:48:05

+0

他想要一個窗口在另一個窗口內,據我所知,內部框架做到這一點。 – 2012-03-08 20:02:39

+0

對不起,如果你誤解了,我沒有在窗口內尋找一個窗口(關閉按鈕等我的意思),其他人似乎已經得到了我的意思。不管怎麼說,還是要謝謝你! – Johan 2012-03-08 20:06:43

4

我會覆蓋paintComponent()JPanel的左側,如討論hereJButtonJPanelBoxLayout可能會在右側,如here所示。另請參閱相關示例,LinePanel

+0

也考慮['JFreeChart' ](http://stackoverflow.com/tags/jfreechart/info)。 – trashgod 2012-03-08 20:02:41