有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

与某个方法关联的java启用/禁用JButton

我希望在某个类中有JButton,当某个方法返回true/false(类类型boolean的方法返回组件)时,该类将启用/禁用JButton

我不知道怎么做。我应该写指令while(true) { ... }并检查什么方法返回,例如每秒1次?这是个好主意吗

请帮忙


共 (3) 个答案

  1. # 1 楼答案

    Should I write instruction while(true) { ... } and check what method returns for example 1 per second? Is it a good idea?

    这是个坏主意,它会完全冻结你的应用程序! 如果要定期检查布尔方法的值,请使用计时器

    但是,如果布尔方法是在对象A中定义的,并且您知道A何时被修改,那么您应该将按钮作为侦听器添加到A中,这样当A被修改时,它可以触发按钮中的回调,该回调将评估按钮现在是否应该被启用

  2. # 2 楼答案

    enter image description here

    来自JavaSE7文档

    Methods inherited from class javax.swing.AbstractButton
    

    如果将此代码放在方法中,那么每当它运行时,它都会相应地启用/禁用按钮

  3. # 3 楼答案

    final JButton btnNewButton = new JButton("New button");
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            btnNewButton.setEnabled(buttonState());
        }
    });
    
    boolean buttonState() {
        return false;
    }