0

前菜、前菜、飲み物など、さまざまなもの用のラジオ ボタン グループがいくつかあります。ユーザーがそれぞれの種類のものを 1 つ選択できるようにしたいと考えています。

ただし、アクションリスナーを実装する方法がわかりません-各グループには独自のアクションリスナーが必要ですか? その場合、アクション リスナー/グループを区別するにはどうすればよいですか?

private class SelectionChangeMade implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent e) {
        String drinkChoice = drinkButtonGroup.getSelection().getActionCommand();
        System.out.println(drinkChoice);
//      String appetizerChoice =
                appetizerButtonGroup.getSelection().getActionCommand();
        // above line gives me a NullPointerError if uncommented
    }
}
4

1 に答える 1

1

いいえ、ボタングループごとに1つのアクションリスナーを作成する必要はありません。作成したアクションリスナーを使用して、ユーザー入力を読み取ることができます。ユーザーが送信ボタンをクリックするなど、特定のイベントでラジオボタンを選択しようとしている場合は、このアクションリスナーを送信ボタンに追加します。

また、Null Pointer Exceptionは、ユーザーが前菜を選択していないことが原因で発生します。アクションコマンドを取得する前に、ユーザーが前菜を選択していることを確認する必要があります。

于 2013-02-12T19:03:16.277 に答える