【问题标题】:Always on top with Checkbox on JavaJava 上的 Checkbox 始终处于领先地位
【发布时间】:2012-12-06 18:48:35
【问题描述】:

大家好,我正在尝试制作一个新软件,它可以对我给出的任何数字进行模数。我想要的是我在我的 gui 上放了一个 JCheckBox,当它被检查时,窗口应该是

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;
                }
            }
        }
    }

【问题讨论】:

    标签: java checkbox always-on-top


    【解决方案1】:

    setAlwaysOnTop 没有观察到您的boolean top. 的进一步状态变化它在传递时采用top 的

    在你的听众中,写下:

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

    【讨论】:

    • 这是一个更短的方式,谢谢。
    【解决方案2】:

    变化:

    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 中的各种 LayoutManagers;不要制作具有固定定位的 GUI。)

    【讨论】:

    • 谢谢它确实有效,但我早上试了一下它没有。真的谢谢你..
    猜你喜欢
    • 1970-01-01
    • 2011-12-28
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2011-02-17
    • 2016-07-09
    • 1970-01-01
    相关资源
    最近更新 更多