gpt4 book ai didi

java - setSelected() 与 JRadioButton r[]=new JRadioButton[3] 不起作用

转载 作者:行者123 更新时间:2023-12-02 02:00:03 24 4
gpt4 key购买 nike

这里我做了一个虚拟程序......

  import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MyClass1 implements ActionListener
{
JFrame fr;
JRadioButton opt[]=new JRadioButton[2];
JButton btnext;
JRadioButton r1;
MyClass1()
{
fr=new JFrame();
fr.setLayout(null);
opt[0]=new JRadioButton("Hello");
opt[1]=new JRadioButton("Welcome");
r1=new JRadioButton("Jealsous");
btnext=new JButton();
ButtonGroup bg=new ButtonGroup();
bg.add(opt[0]);
bg.add(opt[1]);
opt[0].setBounds(50,100,200,30);
r1.setBounds(50,200,200,30);
opt[1].setBounds(50,150,200,30);
btnext.setBounds(400,350,100,30);
fr.add(opt[1]);
fr.add(opt[0]);
fr.add(btnext);
fr.add(r1);
btnext.addActionListener(this);
fr.setSize(800,500);
fr.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
System.out.println(opt[0].getText());
opt[0].setSelected(false); //not working
r1.setSelected(false); //working
}
public static void main(String[] s)
{
new MyClass1();
}
}

在这段代码中,当我单击按钮时,单选按钮是一个数组opt[0] 仍然被选中。而单选按钮 r1 未选择。所以基本上,当我使用对象数组调用函数 setSelected 时,它什么也不做,当我使用不同的对象调用时,它工作正常。在大型程序中,我需要对象数组,以便我可以在 for 循环中使用它,并将其初始化为来自字符串二维数组的某个值。

最佳答案

您可以执行buttonGroup.clearSelection()

但此方法仅在 java 1.6+ 中可用。

http://java.sun.com/javase/6/docs/api/javax/swing/ButtonGroup.html#clearSelection()

@Override
public void actionPerformed(ActionEvent e)
{
System.out.println(opt[0].getText());
bg.clearSelection();
r1.setSelected(false); //working
}

关于java - setSelected() 与 JRadioButton r[]=new JRadioButton[3] 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16699339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com