始终在Java上使用Checkbox

时间:2012-12-06 18:48:36

标签: java checkbox always-on-top

大家好我正在尝试制作一个新软件,它给了我任意数量的模数。我想要的是我把一个JCheckBox放在我的gui上,当它被检查时,窗口应该是

setAlwaysOnTop(true); 

并取消选择时

setAlwaysOnTop(false);

我的一些代码是

boolean top = false;

    Check = new JCheckBox("Always on top");
    Check.setLocation(140, 105);
    Check.setSize(150, 20);
    Check.setSelected(top);
    Check.addItemListener(new CheckBoxListener());

    add(Check);
    setAlwaysOnTop(top);

    private class CheckBoxListener implements ItemListener{
        public void itemStateChanged(ItemEvent e){
            if(e.getSource()==Check){ 
                if(Check.isSelected()){
                    top = true;
                }else{
                    top = false;
                }
            }
        }
    }

2 个答案:

答案 0 :(得分:2)

setAlwaysOnTop未发现您boolean top.的进一步状态更改通过时,

在你的听众中,写下:

if(e.getSource() == Check) {
  setAlwaysOnTop(Check.isSelected());
}

答案 1 :(得分:0)

变化:

public void itemStateChanged(ItemEvent e){
    if(e.getSource()==Check){ 
        if(Check.isSelected()){
            top = true;
        }else{
            top = false;
        }
    }
}

public void itemStateChanged(ItemEvent e){
    if(e.getSource()==Check){ 
        setAlwaysOnTop(Check.isSelected());
        }
    }
}

(另外,查看Java中的各种LayoutManager;不要使用固定定位制作GUI。)