我有actionPerformed()
方法可以做两件事:打印出所选的单选按钮,并设置另一个类中标签的可见性。单击单选按钮时,无法转换为错误。
public void actionPerformed(ActionEvent e)
{
System.out.println("Selected: " + e.getActionCommand());
JButton hiddenBtn = (JButton) e.getSource();
if (hiddenBtn == submit)
{
Class o = new Class();
o.foo();
}
JButton close = (JButton) e.getSource();
if (close == purchase)
{
System.exit(0);
}
}
我在(JButton) e.getSource()
收到了错误。
答案 0 :(得分:4)
JRadioButton
不会延长JButton
。因此,您无法将其强制转换为JButton
。但是,您可以投放到AbstractButton
。
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.AbstractButton javax.swing.JToggleButton javax.swing.JRadioButton
答案 1 :(得分:2)
他们对JButton和JRadioButton的最小上限是AbstractButton。我认为,你可以去做你想做的事。
答案 2 :(得分:1)
除了关于是否有效的技术方面,从逻辑上考虑使用JButton强制转换JRadioButton的原因。两者的用法不同。
答案 3 :(得分:0)
与AbstractButton
或JButton
使用ButtonGroup相关联,因为如果您将JRadioButton(s)
添加到ButtonGroup
,那么只有JRadioButton
可以被选中,
我可以模拟此错误,无法转换为javax.swing.AbstractButton
或无法从javax.swing.JButton
JTable