我正在使用netbeans 8.我有2个单选按钮,我想在显示框架时隐藏它。我怎样才能做到这一点?当我点击其他按钮时,我成功地做到了这一点:
private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jRadioButton3.setVisible(false);
jRadioButton4.setVisible(false);
}
但那不是我想要的。我想将它设置为不可见,只在我点击其他单选按钮时显示它。出于某种原因,netbean阻止我编辑源代码中的某些区域,因此我无法测试或探索它。请提前帮助和谢谢。
答案 0 :(得分:2)
默认情况下,将JRadioButton
setVisible
方法设置为false
,然后在执行操作时将其更改。
例如,在此处,选择第一个JRadioButtons
后,JRadioButton
将会显示。如果取消选择,它们就会消失。
我用JRadioButton
做了,但当然可以用其他组件来完成。
public class Test extends JFrame{
private JRadioButton but1, but2, but3;
public Test(){
setSize(new Dimension(200,200));
initComp();
setVisible(true);
}
private void initComp() {
but1 = new JRadioButton();
but1.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
but2.setVisible(but1.isSelected());
but3.setVisible(but1.isSelected());
}
});
but2 = new JRadioButton();
but2.setVisible(false);
but3 = new JRadioButton();
but3.setVisible(false);
setLayout(new FlowLayout());
JPanel pan = new JPanel();
pan.add(but1);
pan.add(but2);
pan.add(but3);
getContentPane().add(pan);
}
public static void main(String[] args) {
new Test();
}
}
答案 1 :(得分:2)
将单选按钮添加到框架并在某些事件中显示时,可以将单选按钮设置为不可见:
public class InvisibleRadioButton {
public static void main(String[] args) {
JFrame frame = new JFrame();
final JRadioButton jRadioButton1 = new JRadioButton("1");
JRadioButton jRadioButton2 = new JRadioButton("2");
frame.setLayout(new FlowLayout());
frame.add(jRadioButton1);
frame.add(jRadioButton2);
frame.setVisible(true);
jRadioButton1.setVisible(false); // initialize as invisible
jRadioButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jRadioButton1.setVisible(true); // set it to be visible
}
});
frame.pack();
}
}