【问题标题】:setting Visibility of jButton of one class from another设置一个类的 jButton 对另一个类的可见性
【发布时间】:2011-01-10 06:36:44
【问题描述】:

我有一个包含一些面板和一些按钮的主类,还有一个其他类我想通过它设置主类中按钮的可见性。

我添加了一个函数来设置主类中的可见性 喜欢:

// This is my main class  
public void setVisibility(boolean flag)  
{   
    mybutton.setVisible(flag);  
}

// this is class which calls the method,
my_constructor.setVisibility(false);

但这不起作用,有人可以帮忙吗?

【问题讨论】:

  • 您能否在示例中提供更多代码?这应该可以正常工作,即使没有调用 repaint() (invalidate() 实际上会更好!)。如果 EDT 没有在某处被阻止,也许检查你的线程?

标签: java swing constructor jbutton


【解决方案1】:

您是否尝试在设置可见性后重新绘制面板?

// This is my main class  
public void setVisibility(boolean flag)  
{   
    mybutton.setVisible(flag);  
    myPanel.repaint();
}

【讨论】:

    【解决方案2】:

    您是否调用了 EventDispatcherThread 上的 setVisibility(boolean) 方法? (不能从你发布的小代码中看出)。

    Runnable runnable = new Runnable() {
       public void run() {
           setVisibility(flag);
       }
     };
    
    EventQueue.invokeLater(runnable);
    

    另一个小问题是您正在使用名为 setVisibility() 的方法封装对 setVisible() 方法的调用。如果我必须在您之后维护该代码,我会诅咒您的名字:-) 恕我直言,只需将方法名称设为相同即可。

    【讨论】:

      猜你喜欢
      • 2016-02-15
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      相关资源
      最近更新 更多