给jButton分配一个ActionEvent,提供jRadioButton选项

3
基本上,我正在制作一个简单的GUI程序,让你通过两个jRadioButtons进行选择,其中之一引导到类似视觉小说的相应情节。然而问题在于,我无法将jButton的概念与jRadioButton的选择联系起来。
概念如下:在一个框架中,有一个jTextArea显示字符串文本形成一个情节,这里和那里给出选择两个选项,表示为两个jRadioButtons,然后必须由jButton执行。
到目前为止,我在两个jRadioButtons的ActionListener中放置的唯一逻辑是当单击jRadioButton时禁用其他内容,而jButton则故意为空白。有人有任何类似的程序或模块想要分享吗?至少在这个程序上从编程角度来看,有什么逻辑呢?

1
请查看单选按钮教程。将它们放入ButtonGroup中,您将默认拥有选择。 - Robin
作为一个确认操作的按钮,jButton应该如何表现? - dothackjhe
您可以通过radiobutton API查看哪个单选按钮被选中。不确定我是否完全理解这里的问题。 - Robin
我需要一个示例程序,显示:给定两个选择,选择其中一个。通过使用 jRadioButton 从其中的两个中选择一个,一旦触发 jRadioButton 并且 jButton 被点击,将执行其中一个。 - dothackjhe
需要一个展示读取Swing组件的所有基本用例的示例程序,请参阅Swing标签维基中引用的教程中相应章节的示例代码。 - kleopatra
1个回答

5

我们通常使用单选按钮来在几个选项之间进行选择,每次只能选择一个按钮。为了实现这个功能,您需要将按钮添加到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
     }
}                                            

+1 对于 ButtonGroup;同时考虑引用相关教程并重新格式化以减少不必要的空格。 - trashgod
谢谢,我现在已经有了相当清晰的想法。 - dothackjhe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接