将选择的radiobutton值传递给另一个类

时间:2011-04-24 09:46:07

标签: java swing radio-button

是否有任何示例让我将选择的radiobutton值传递给另一个类?

jr1 = new JRadioButton ("11.40 AM");
    jr2 = new JRadioButton ("12.00 PM");
    jr3 = new JRadioButton ("1.40 PM");
    jr4 = new JRadioButton ("3.40 PM");
    jr5 = new JRadioButton ("5.40 PM");
    jr6 = new JRadioButton ("7.00 PM");
    jr7 = new JRadioButton ("9.00 PM");
    jr8 = new JRadioButton ("10.40 PM");
    jr9 = new JRadioButton ("11.40 PM");
    jr10 = new JRadioButton ("12.40 AM");

ButtonGroup group = new ButtonGroup ();
    group.add(jr1);
    group.add(jr2);
    group.add(jr3);
    group.add(jr4);
    group.add(jr5);
    group.add(jr6);
    group.add(jr7);
    group.add(jr8);
    group.add(jr9);
    group.add(jr10);

我正在使用这种方式...现在我需要知道我应该如何添加例如;如果我选择12.00 pm ...它会将12.00的值传递给另一个班级... TQ

2 个答案:

答案 0 :(得分:2)

如果你看一下Swing Tutorial part on Buttons ...

让其他类实现ActionListener并创建此方法

public void actionPerformed(ActionEvent e) {
    // do something
}

确保在您的单选按钮上拨打

radioButton.addActionListener(otherClass);  

编辑:要回答问题中获取按钮的文本,请在actionPerformed中执行此操作 在ActionEvent上调用getSource(),它会告诉你哪个按钮触发了事件。这只是从按钮获取文本的问题(我认为这是getText()但不确定。)

答案 1 :(得分:0)

最简单的方法是将isSelected()方法的返回值传递给对象:

MyButtonWatcherClass watch = new MyButtonWatcherClass(); // not a real class, just an example
JRadioButton radioButton = new JRadioButton("Simple Radio Button");
...
watch.processRadioButtonState(radioButton.isSelected()); // not a real method, just an example

放置此代码的位置取决于您,但这是主要概念。

看着你的代码,我无法抗拒 - 使用数组

String hours[] = {"11.40 AM", "12.00 PM" .... };
JRadioButton jrb[] = new JRadioButton[hours.length];
ButtonGroup group = new ButtonGroup ();
...
for (int i = 0; i < hours.length; i++)
{
    jrb[i] = new JRadioButton(hours[i]);
    group.add(jrb[i]);
}

在这里,我说:)