2012-03-06 126 views
1

當我嘗試通過轉到它的屬性然後圖標在java中添加背景,然後它設置按鈕的背景,但我已經寫在按鈕上的文本,它會向右移動(在按鈕區域之外)。這有什麼解決方法?在jButton中添加背景(netbeans gui builder)

+0

必須有另外一個問題,或者使用GUI框架,atributes爲更好地幫助soonep請編輯您的問題[SSCCE(http://sscce.org/) – mKorbel 2012-03-06 11:02:39

回答

1

據我所知,你不設置背景,但你設置圖標按鈕。這就是爲什麼你在右側看到圖像而在左側看到文字。要將圖像作爲背景添加到按鈕,您需要覆蓋JButonpaintComponent(g)方法並在其中繪製圖像。

+0

有沒有簡單的方法來做到這一點。我的意思是通過屬性? – Xara 2012-03-06 11:18:43

+0

@Zara我對NetBeans不太瞭解。但是可能會在jbutton paintComponent方法中寫一些自定義代碼。如果你找不到它,那麼創建你自己的類來擴展JButton並在那裏重寫paintComponent。 – 2012-03-06 11:28:21

+0

+1,我喜歡這種方法,因爲我現在在Swing中學習繪畫:-) – 2012-03-06 12:05:34

11

如果您想將圖像添加到您的JButtonNetBeans請按照下列步驟操作:

  1. 右鍵點擊Source PackagesProjects下,並選擇​​。
  2. 單擊下一步,併爲該文件夾提供一個名稱。對於示例resources,請檢查Parent Folder,src是否寫入該字段。現在點擊完成。
  3. 現在手動到您的計算機上的此位置並創建一個新文件夾,說圖像,然後將IMAGE粘貼到此文件夾中。
  4. 現在根據Design Mode,選擇您的JButton,在右側轉到此JButton的屬性。正是在前臺,你會看到icon寫入,點擊與之相關的打開窗口Eclipse的按鈕,如圖所示:FIGURE 1
  5. 做檢查,這個數字1,填寫您的值,然後按OK

你完成添加圖像到你的JButton。 如果你想使用我使用的圖像,這裏是Window Image。 是的,我忘記提到了,爲此,我在Properties屬性的Other Properties下設置了horizo​​ntalTextPosition = CENTER和veritcalTextPosition = BOTTOM。

,這裏是整個事情的輸出:

CELSIUS CONVERTER IMAGE

1

,這是什麼解決辦法嗎?

一個'解決方案'它寫在圖像上的文字。這不是一個很好的解決方案,因爲:

  • 需要將文本寫在每個用於該按鈕的圖標上(例如正常,翻轉,選定等)。
  • 然後它將成爲您的責任,選擇適當的字體大小&大小。
  • 當PLAF更改時,文本不會自動更改字體或大小。
  • 像助記符和加速器的東西將無法使用圖像文本按鈕。

  1. 它寫它變得更加清楚這將是多麼古怪與之合作的點時,只。