我正在使用我的个人Java聊天客户端,该客户端的一项功能是设置用户的状态(可用,不可见,忙碌)。为了使其易于使用,我将这些状态与JMenu一起放入了JRadioButtonMenuItem中。

问题是我希望每个状态RadioButton都有自己的 radio 点颜色(或点图标)。例如:

  • [Green-Dot]可用
  • [Red-Dot]忙
  • [Gray-Dot]不可见。

  • 我想用三种不同的自定义JRadioButtonMenuItem扩展RadioButtonMenuItem,但是不明白JRadioButtonMenuItem是如何绘制的。

    谁能帮我解决这个问题?

    编辑1
    感谢您提出的将IconsetIcon()setSelectedIcon()方法一起使用的建议。
    但是,由于我的问题是关于更改 radio 点,您还可以帮助我从RadioButton中隐藏 radio 点吗?

    编辑2
    这是我的应用程序的当前屏幕截图。

    如您所见,RadioButtonMenuItem前面的点有点荒谬。这就是为什么我要摆脱点,或将其更改为我的自定义图标的原因:)

    最佳答案

    UI委托(delegate)为每个外观提供单选按钮的点。您可以提供自己的 BasicRadioButtonUI ,但是这并非易事。或者,实现Icon接口(interface),如ColorIcon中的here所示。

    关于java - 更改JRadioButtonMenuItem的选定点颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12024840/

    10-11 06:48