1

actionPerformed()選択したラジオボタンを印刷する方法と、別のクラスのラベルの表示を設定する方法の2つがあります。ラジオボタンがクリックされたときにエラーにキャストできません

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()ます。

4

4 に答える 4

4

JRadioButton伸びませんJButton。したがって、にキャストすることはできませんJButton。ただし、にキャストすることはできますAbstractButton

java.lang.Object
  java.awt.Component
      java.awt.コンテナ
          javax.swing.JComponent
              javax.swing.AbstractButton
                  javax.swing.JToggleButton
                      javax.swing.JRadioButton
于 2011-12-14T21:44:42.703 に答える
2

JButton および JRadioButton の最小上限はAbstractButtonです。あなたはそれにキャストして、あなたが望むことをすることができると思います。

于 2011-12-14T21:44:06.727 に答える
1

キャストが機能するかどうかという技術的な側面の他に、JRadioButton を JButton でキャストする理由を論理的に考えてください。両者の使い方は異なります。

于 2011-12-14T21:47:14.603 に答える
0

ButtonGroupに関連して、AbstractButtonまたはJButton使用すると、に追加すると、1 つだけを選択できるため、JRadioButton(s)ButtonGroupJRadioButton

このエラーをシミュレートすることがjavax.swing.AbstractButtonできjavax.swing.JButtonますJTable

于 2011-12-14T22:49:03.997 に答える