[英]JLabel with separate text and icon background colours
我有一個帶有文本和圖標的簡單Jlabel元素
設置背景會更改完整標簽顏色。
我希望能夠只在標簽的文本部分渲染背景顏色,即 - 為圖標和文本分別設置背景/前景。 選擇/取消選擇標簽將翻轉圖標和文本后面的顏色。 這可以通過擴展JLabel來實現,如果是這樣,我應該尋找哪些方法進行自定義?
我的另一個想法是創建一個帶有兩個單獨標簽元素的面板,一個帶有圖標,另一個帶有文本。 它似乎有點凌亂,在我開始之前,我想知道是否有更智能的方法來實現這一點與Swing。
我喜歡你正在做的風格,但看起來你正在重新實現JToggleButton。
這是一個切換按鈕示例,左側被選中,右側未被選中:
alt text http://downloads.padlocksoftware.net/toggle.png
它沒有文本的華麗背景,但它是一個不需要您實現自己的組件的解決方案。
對齊設置為:
jToggleButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jToggleButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
我假設您使用的圖標具有透明背景? 如果是這樣,您可以使用具有匹配背景顏色的圖標。 這樣做應該允許你在整個標簽上設置setBackground(),但只能在文本上看到它。
JButton
支持圖像和文本的不同對齊選項。 在大多數情況下,圖像或文本都不會填充按鈕的整個寬度或高度。 所以IMO讓它在一個按鈕上發生是不現實的,除非你想要覆蓋按鈕的繪畫。
您的另一個想法是一個更簡單的解決方案。 在那里你可以使用BorderLayout
或MigLayout
來實現你的目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.