在 JCheckBoxMenuItem 中,如何仅使复选框刻度线可见
在此取自 Eclipse 的图像中,“自动构建”显示一个没有复选框的勾号。如何使用 Java JCheckBoxMenuItems 创建与此类似的效果,其中只有刻度线而不是复选框可见?
In this image taken from eclipse, "Build Automatically" shows a tick mark without a checkbox. How can I create a similar effect to this with Java JCheckBoxMenuItems, where only the tickmark and not the checkbox are visible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
JCheckBoxMenuItem 扩展自 AbstractButton,因此您应该能够为适当的 set???Icon 方法提供自定义图标。
JCheckBoxMenuItem extends from AbstractButton so you should be able to provide custom Icons for the appropriate set???Icon methods.
外观由
BasicMenuItemUI 定义
,通常每个外观都是独一无二的。感觉。您可以提供自己的变体来覆盖paintMenuItem()
。因为这样做会违反用户首选的外观和外观。感觉,你必须决定这是否值得付出努力。附录:@camickr的
Icon
想法更优雅,但你总是可以放一个 ✔ (U+2714) 在菜单文本中。The appearance is defined by
BasicMenuItemUI
, typically unique to each Look & Feel. You can supply your own variation that overridespaintMenuItem()
. As doing so will violate the user's preferred Look & Feel, you'll have to decide if it's worth the effort.Addendum: @camickr's
Icon
idea is more elegant, but you can always put a ✔ (U+2714) in the menu's text.您可以扩展 JCheckbox 并覆盖 PaintComponent()
you can extend JCheckbox and override paintComponent()
您可以使用 JMenuItem 和 ActionListener 来完成此操作:
You can do it with JMenuItem and an ActionListener: