【发布时间】:2015-12-11 22:38:26
【问题描述】:
我想创建一个具有两个侦听器的 radioButton,一个在单选按钮上,另一个在标签上。第一个应该为他的选择状态做正常的单选按钮工作,第二个应该做我的自定义操作。 我的组件的问题是在按钮上绘制标签,见下图。 任何帮助或更好的想法将不胜感激。
private class RadioLabelButton extends JRadioButton{
private JLabel label;
protected boolean lblStatus;
private RadioLabelButton(JLabel label,Font font,Color color) {
lblStatus = false;
this.label = label;
label.setFont(font);
label.setForeground(color);
add(label, BorderLayout.WEST);
}
}
【问题讨论】:
-
您正在将 JLabel 添加到 JRadioButton,您期望什么?
-
不要扩展 JRadioButton!!改用合成!有一个 RadioLabelButton,它是一个包含单选按钮和标签的面板。
-
您选择不使用其setText method 设置JRadioButton 的文本是否有原因?
-
这是因为JRadioButton在API中没有合理实现LayoutManager
-
原因是我想用单选按钮创建一个望远镜菜单。欢迎任何新想法。
标签: java swing jbutton jlabel jradiobutton