2012-09-30 25 views
3

所以基本上,我试图在这里用GUI做一个简单的程序,让你选择两个jRadioButton作为选择,其中任何一个以相似的方式导致相应的故事情节到视觉小说。然而,问题在于我无法将jButton的想法与jRadioButton的选择联系起来。给jRadioButton选项的jButton的ActionEvent

这个概念是这样的:在一个框架中,有一个jTextArea显示形成一个故事情节的文本串,它提供了两个选择,从两个jRadioButtons中选择,然后必须由一个jButton执行。

到目前为止,我已经放置在ActionListener中的两个jRadioButtons的唯一逻辑是在jButton故意为空时单击jRadioButton时必须禁用另一个逻辑。任何人都有任何类似的计划或模块,他/她想分享,至少,这在编程方面的逻辑?

+1

请参阅[radiobutton教程](http://docs.oracle.com/javase/tutorial/uiswing/components/button.html#radiobutton)。把它们放在'ButtonGroup'中,默认情况下你会选择 – Robin

+0

作为一个按钮,jButton的行为应该如何呢? – dothackjhe

+0

您可以看到通过单选按钮API选择了哪个单选按钮。不知道我完全理解这里的问题 – Robin

回答

5

我们通常使用RadioButton来选择几个选项中的一个,并且一次只能选择一个按钮。要获得此功能,您需要将按钮添加到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 
    } 
}            
+0

用于ButtonGroup;也考虑引用相关教程和重新格式化以减少虚假空白。 – trashgod

+0

谢谢,我现在很明白这个主意。 – dothackjhe