我正在制作一个有许多按钮的摇摆gui。我有许多操作,其中按钮有时禁用和启用。我想为仅启用的按钮设置工具提示。当按钮禁用时,我不想要该按钮的任何工具提示。
答案 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)
您必须删除工具提示文字。
您还可以使用覆盖方法创建自己的类,以启用/禁用并自动执行此操作。