3

基本的に、私は GUI を使って簡単なプログラムを作成しようとしています。これは、2 つの jRadioButtons を与えられた選択肢として、2 つのいずれかがビジュアル ノベルと同様の方法で対応するストーリーにつながる選択肢として選択できるようにするものです。ただし、問題は、jButton のアイデアを jRadioButton からの選択に結び付けるのに問題があることです。

コンセプトは次のとおりです。フレームには、ストーリーラインを形成するテキストの文字列を表示する jTextArea があり、2 つの jRadioButton で表されるように、jButton で実行する必要がある 2 つのオプションをあちこちから選択できます。

これまでのところ、両方の jRadioButton の ActionListener 内に配置した唯一のロジックは、jRadioButton が意図的に空白であるときに jRadioButton がクリックされると、もう一方を無効にする必要があることです。少なくとも、プログラム的に言えば、これに関するロジックを共有したい同様のプログラムまたはモジュールを誰かが持っていますか?

4

1 に答える 1

5

通常、RadioButtonを使用して、いくつかのオプションの1つを選択しますが、一度に選択できるボタンは1つだけです。この機能を利用するには、ボタンをjavax.swing.ButtonGroupに追加する必要があります。簡単な例を次に示します。

 //Fields declared in your main GUI class
 JRadioButton option1,option2;
 JButton goButton; //executes the "Story"

 //Constructor code or place in init() method that constructor calls:
 {
    //initialize buttons and place them in your frame.
    ButtonGroup buttonGroup = new javax.swing.ButtonGroup();
    buttonGroup.add(option1);
    buttonGroup.add(option2);
    buttonGroup1.setSelected(option1.getModel(), true);
    goButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            goButtonActionPerformed(evt);
        }
    });

}

private void goButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
     if(option1.isSelected()) {                
         //place text in your text area
     }
     if(option2.isSelected()) {                
         //place different text in your text area
     }
}                                            
于 2012-09-30T13:36:20.633 に答える