禁用禁用按钮的工具提示

时间:2011-06-24 11:37:30

标签: java swing tooltip jbutton

我正在制作一个有许多按钮的摇摆gui。我有许多操作,其中按钮有时禁用和启用。我想为仅启用的按钮设置工具提示。当按钮禁用时,我不想要该按钮的任何工具提示。

3 个答案:

答案 0 :(得分:5)

我会尝试扩展Button类,并重载getTooltip()。类似的东西:

public class MyButton extends JButton {
  public String getTooltip() {
     if (this.isEnabled()) {
       return super.getTooltip();
     }
     return null;
  }
}

当然,这取决于Swing使用getTooltip获取信息来绘制按钮;无论如何我会尝试。

答案 1 :(得分:2)

添加扩展的JButton类:

import javax.swing.*;

public class MyButton extends JButton
{
  private String toolTip;

  @Override
  public void setToolTipText(String text)
  {
    super.setToolTipText(text);
    if (null != text) toolTip = text;
  }

  @Override
  public void setEnabled(boolean b)
  {
    super.setEnabled(b);
    super.setToolTipText(b ? toolTip : null);
  }
}

并改为使用它。

答案 2 :(得分:1)

您必须删除工具提示文字。

您还可以使用覆盖方法创建自己的类,以启用/禁用并自动执行此操作。