Java JRadioButton值到JTextArea

Java JRadioButton值到JTextArea,java,swing,Java,Swing,我需要一些帮助,当我单击JRadioButton组时,JRadioButton组的值将显示在JTextArea中,用于每个选定的组。我现在一次只能得到一组。 谢谢每次抛出一个单选按钮事件时,您都会覆盖文本区域。 尝试使用JTextAre.append()而不是setText 在任何情况下,您都必须记住ActionListener中单选按钮组的任何状态,才能达到预期的行为 因评论而更新: 这并不完全正确。我没有检查它。但它显示了主要方面。 首先,最好通过一个具体的类来实现侦听器接口,而不是 kus

我需要一些帮助,当我单击JRadioButton组时,JRadioButton组的值将显示在JTextArea中,用于每个选定的组。我现在一次只能得到一组。
谢谢

每次抛出一个单选按钮事件时,您都会覆盖文本区域。 尝试使用JTextAre.append()而不是setText

在任何情况下,您都必须记住ActionListener中单选按钮组的任何状态,才能达到预期的行为

因评论而更新:

这并不完全正确。我没有检查它。但它显示了主要方面。 首先,最好通过一个具体的类来实现侦听器接口,而不是 kust将其作为一个无意义的类型传递。在这种情况下,类RadioButton实现actionListener方法。现在,您可以将任何类型的参数或对象引用传递给侦听器类。Annd您可以在侦听器方法中使用它

进一步了解我是如何获得事件来源的。这是通过

// radio action listener
            ActionListener radioListener = new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {

                    text.setText(e.getActionCommand());


                }
                };

                // motherboard group
                 rb1.addActionListener(radioListener);
                 rb2.addActionListener(radioListener);
                 rb3.addActionListener(radioListener);
                 // cpu group
                 rb4.addActionListener(radioListener);
                 rb5.addActionListener(radioListener);
                 rb6.addActionListener(radioListener);  
如果您为单选按钮指定了名称或id,您可以检查该名称并作出反应 以适当的方式

下面是示例代码:

JRadioButton source = (JRadioButton)e.getSource();

})

组的值或从组中选择的
JRadioButton
的值?但是现在我所做的每一个选择都会附加到文本区域。我需要的是当我做一个选择时,只需要将选择附加到文本区域,然后再添加一个,依此类推。是的,这就是问题所在。所以你需要记住美国。您需要检查之前是否已选择了两个无线组。如果是这样,你必须清除文本区域。你能帮助我并举例说明我将如何做。你能帮助我举例说明如何实施如何检查每个组的状态吗
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;


public class RadioButton implements ActionListener {


boolean group1Clicked = false;
boolean group2Clicked = false;

JRadioButton rb1 = new JRadioButton();
 ...
JTextArea text = new JTextArea();

public RadioButton() {
      rb1.addActionListener(this);

      rb2.addActionListener(this);
      rb3.addActionListener(this);
      ButtonGroup group = new ButtonGroup();
      rb1.setName("rb1");
      rb2.setName("rb2");
      // cpu group
      rb4.addActionListener(this);
      rb5.addActionListener(this);
      rb6.addActionListener(this);  
}


@Override
public void actionPerformed(ActionEvent e) {
  JRadioButton source = (JRadioButton)e.getSource();

  if (source.getName().equals("rb1") ||
      source.getName().equals("rb2") ||
      source.getName().equals("rb3"))  {
      //Changing the state
      if (group1Clicked) {
          group2Clicked = false;
      } else {
          group1Clicked = true;
      }
  }

  if (source.getName().equals("rb4") ||
          source.getName().equals("rb5") ||
          source.getName().equals("rb6"))  {
          //Changing the state
          if (group2Clicked) {
              group1Clicked = false;
          } else {
              group2Clicked = true;
          }
      }

  if (group1Clicked==false || group2Clicked ==false) {
       text.clear();
    } else {
       text.append(e.getActionCommand());
    }


}