java - 具有单独文本和图标背景颜色的 JLabel

标签 java swing user-interface jlabel

我有一个带有文本和图标的简单 Jlabel 元素

alt text

设置背景会改变整个标签的颜色。

我希望能够只在标签的文本部分呈现背景颜色,即 - 为图标和文本设置单独的背景/前景。选择/取消选择标签将翻转图标和文本后面的颜色。是否可以仅通过扩展 JLabel 来做到这一点,如果是这样,我应该寻求定制哪些方法?

alt text

我的替代想法是创建一个包含两个独立标签元素的面板,一个带有图标,另一个带有文本。看起来有点乱,在我开始之前我想知道是否有一种更聪明的方法可以用 Swing 实现这一点。

最佳答案

我喜欢你所做的风格,但看起来你正在重新实现 JToggleButton。

这是一个切换按钮的例子,左边被选中,右边没有被选中:

alt text http://downloads.padlocksoftware.net/toggle.png

文本上没有华丽的背景,但它是一种不需要您实现自己的组件的解决方案。

对齐设置为:

jToggleButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jToggleButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);

关于java - 具有单独文本和图标背景颜色的 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2515401/

相关文章:

ios - 在屏幕底部实现覆盖 View ,其中包含水平卡片/单元格

C# 自定义列表框 GUI

java - 在 Netbeans 中使用 Derby EmbeddedDriver

java - 如何将对象返回到仍打开的前一帧?

java - JMenuBar禁用后不启用

java - JPanels 除了第一个未绘制

java - 刷新 JScrollPane

java - 通过包名扫描resteasy资源

java - 如何使用数组对象?

iphone - 根据iphone sdk中的触摸旋转图像