2011-04-29 96 views
4

我真的需要一些關於如何在Java中創建GUI的指導。我是一名大學生,這是他們從不關注的事情之一。我目前有我的程序的其餘部分設置和工作,現在我正在嘗試製作GUI。我正在爲此創建一個新的GUI類。 (我的印象是這是最佳做法)。我瞭解如何進行基本設置,但是我不明白如何與之後的GUI進行交互。我想要做的是在啓動時創建一個窗口,然後它將兩個圖片並排顯示,並在下面顯示一個標籤。我希望圖像可以點擊,點擊後將兩個新圖像加載到它們的位置(標籤更改爲下方)。我沒有做過這樣的事情,我也遇到過很多不同的方式來添加圖片,我想知道是否有最佳做法。Java中使用Swing的GUI

如果需要,我可以提供代碼,但我不認爲這將需要我的問題是如何提出的。

在此先感謝您的幫助。

+9

你或許應該開始讀[搖擺線索(http://download.oracle.com/javase/tutorial/uiswing/)。 – asgs 2011-04-29 20:58:47

+1

如果你使用ide,Netbeans也有一些很棒的教程http://netbeans.org/kb/docs/java/quickstart-gui.html – grantk 2011-04-29 21:07:20

+0

「我的問題是如何提出的。」只有一個問題以'?'結尾而文本缺乏'?'。換一種說法 - 毫無疑問。 – 2011-04-30 04:06:24

回答

7

幾點建議:

  • 將您的圖像放入ImageIcons。考慮使用ImageIcons的ArrayList。
  • 在JLabel中顯示ImageIcons。您可以通過調用setIcon(...)來更改圖標。
  • 在同一個JLabel中顯示你的文本(或者如果你願意,在圖像JLabel下面的一個不同的JLabel被一個BorderLayout使用的JPanel持有)。通過setText(...)方法更改JLabel文本。
  • 將MouseListener添加到圖像控制JLabel並更改偵聽器的mousePressed方法中的JLabel圖標。您可以通過mousePressed MouseEvent參數的getSource()方法獲取對單擊的標籤的引用。
  • asgs的評論中提到的教程將幫助你解決所有這些問題。

編輯1:

  • 更妙的是 - 去與深褐色的下面我文章的評論推薦!
+3

或在JButtons上顯示圖片圖片(如果你不喜歡,你可以不設邊框)。然後,您可以偵聽ActionEvents(高級)而不是MouseEvents(低級)。 – Puce 2011-04-29 21:32:41

+0

+1所有不錯的建議。 – Boro 2011-04-29 22:50:27

3

從我在Swing的5年經驗中獲得兩個個人建議。

學習使用LayoutManagers而不是GUI構建器編寫GUI。 (MigLayout是最好的選擇)

瞭解如何編寫TableModel,而不是使用DefaultTableModel。