【发布时间】:2012-04-26 12:59:32
【问题描述】:
我将使用 Swing UI 增强应用程序,以允许用户选择颜色,这样他们就不会被默认颜色选择所困扰。
It is common for other applications to have shaded rectangles drawn on each button that activates a color selector, with the rectangle's color changing accordingly when a new color is selected.我试图通过在按钮上放置一个带有所选颜色的小 JPanel 来达到相同的效果,但这会导致按钮中间出现一个小方块,而不是填充按钮的大部分表面。
我认为另一种方法是动态生成带有颜色的矩形图标,然后为每个按钮添加适当的图标,但肯定有更简单的方法吗?
【问题讨论】:
-
由于无法为按钮制作自定义渲染器,我认为这不会很容易。但我想你总是可以制作一个自定义按钮(比如 ColourButton)。否则你的图标解决方案看起来很不错。
-
您是否在按钮上尝试过 setBackground(Color)(确保按钮不透明,使用 setOpaque(boolean))?
-
是的,我试过
setBackground(),但它只会改变按钮周围矩形的颜色,不会改变按钮的表面颜色。