當我嘗試通過轉到它的屬性然後圖標在java中添加背景,然後它設置按鈕的背景,但我已經寫在按鈕上的文本,它會向右移動(在按鈕區域之外)。這有什麼解決方法?在jButton中添加背景(netbeans gui builder)
回答
據我所知,你不設置背景,但你設置圖標按鈕。這就是爲什麼你在右側看到圖像而在左側看到文字。要將圖像作爲背景添加到按鈕,您需要覆蓋JButon
的paintComponent(g)
方法並在其中繪製圖像。
有沒有簡單的方法來做到這一點。我的意思是通過屬性? – Xara 2012-03-06 11:18:43
@Zara我對NetBeans不太瞭解。但是可能會在jbutton paintComponent方法中寫一些自定義代碼。如果你找不到它,那麼創建你自己的類來擴展JButton並在那裏重寫paintComponent。 – 2012-03-06 11:28:21
+1,我喜歡這種方法,因爲我現在在Swing中學習繪畫:-) – 2012-03-06 12:05:34
如果您想將圖像添加到您的JButton
與NetBeans
請按照下列步驟操作:
- 右鍵點擊
Source Packages
,Projects
下,並選擇。 - 單擊下一步,併爲該文件夾提供一個名稱。對於示例
resources
,請檢查Parent Folder
,src是否寫入該字段。現在點擊完成。 - 現在手動到您的計算機上的此位置並創建一個新文件夾,說圖像,然後將
IMAGE
粘貼到此文件夾中。 - 現在根據
Design Mode
,選擇您的JButton,在右側轉到此JButton
的屬性。正是在前臺,你會看到icon
寫入,點擊與之相關的打開窗口Eclipse的按鈕,如圖所示: - 做檢查,這個數字1,填寫您的值,然後按OK
你完成添加圖像到你的JButton。 如果你想使用我使用的圖像,這裏是。 是的,我忘記提到了,爲此,我在Properties屬性的Other Properties下設置了horizontalTextPosition = CENTER和veritcalTextPosition = BOTTOM。
,這裏是整個事情的輸出:
,這是什麼解決辦法嗎?
一個'解決方案'它寫在圖像上的文字。這不是一個很好的解決方案,因爲:
- 需要將文本寫在每個用於該按鈕的圖標上(例如正常,翻轉,選定等)。
- 然後它將成爲您的責任,選擇適當的字體大小&大小。
- 當PLAF更改時,文本不會自動更改字體或大小。
- 像助記符和加速器的東西將無法使用圖像文本按鈕。
- 它寫它變得更加清楚這將是多麼古怪與之合作的點時,只。
必須有另外一個問題,或者使用GUI框架,atributes爲更好地幫助soonep請編輯您的問題[SSCCE(http://sscce.org/) – mKorbel 2012-03-06 11:02:39