VwpFAQdetectradiobuttonJa

ラジオボタン: 表でどのラジオボタンがクリックされたかを検出する方法を教えてください。

表コンポーネントでどのラジオボタンがクリックされたかを検出する簡単な方法を次に示します。

「表レイアウト」ダイアログを使用して、表に列を追加し、その「コンポーネントの種類」を「ラジオボタン」に設定します。

ページ Bean に以下を追加します。

    public String getCurrentRow() {
        return tableRowGroup1.getRowKey().getRowId();
    }
   
    public void setCurrentRow(int row) {
    }
   
    private Object lastSelected="0";
   
    public Object getRBSelected() {
        String sv = (String)radioButton1.getSelectedValue();
        return sv.equals(lastSelected) ? sv : null;
    }
   
    public void setRBSelected(Object selected){
        if (selected != null) {
            lastSelected = selected;
        }
    }

「アウトライン」ウィンドウか、またはビジュアルデザイナーで、radioButton1 を選択します。

radioButton1 の「プロパティー」ウィンドウで、「詳細」セクションにある「name」プロパティーを「buttonGroup」に設定します。

さらに、「データ」セクションにある「selected」プロパティーの省略符号ボタン (...) をクリックします。ダイアログが表示されます。

「バインドを使用」を選択し、「オブジェクトにバインド」タブをクリックします。次に、RBSelected を選択し、「了解」をクリックします。

これで、アプリケーションは getRBSelected() および setRBSelected() メソッドを使用して、このコンポーネントに対するユーザー入力の表示と保存を行います。

「プロパティー」ウィンドウの「詳細」セクションで、「selectedValue」プロパティの省略符号ボタン (...) をクリックします。

「バインドを使用」を選択し、「オブジェクトにバインド」タブをクリックします。次に、currentRow を選択し、「了解」をクリックします。

これで、アプリケーションは getCurrentRow() メソッドを使用して、このコンポーネントで選択された値を返します。

これから何が選択されたかを探します。この例では、次のコードをボタンの action メソッドに追加します。

        String aRowId = (String)RadioButton.getSelected(
                "buttonGroup");
        RowKey aRowKey = stateDataProvider.getRowKey(aRowId);
        selectedStateStaticText.setText(stateDataProvider.getValue("STATE.STATENAME",aRowKey) +
                " が選択されました。"); 

ユーザーがページに戻ったときに、選択を残しておきたい場合には、セッション bean のプロパティーに保存できます。しかし、選択された行が存在しなくなった場合の処理を検討する必要があります。


Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo