我有一个带有图标、工具提示的 Java 程序……我需要的是,每次显示工具提示时,都应将包含的文本复制到 Windows 剪贴板。
任何解决方案都应该是所有工具提示的通用单一解决方案。我无法更改它们中的每一个的属性(有数千个......)
谢谢!
在我看来,如果您确实在使用 Swing,您可能需要子类化您的组件并覆盖createToolTip()
:
class MyJButton extends JButton {
@Override
public JToolTip createToolTip() {
return new MyJTooltip();
}
}
和:
class MyJTooltip extends JToolTip {
@Override
public void setVisible(boolean aFlag) {
super.setVisible(aFlag);
//copy your text to clipboard here
}
}
不是很实用,不是很漂亮,但我现在想不出另一种方法:AFAIK,没有办法继承 TooltipManager并将其用作默认值。
如果您使用的是 JavaFX,事情会变得容易得多:
new Button().setTooltip(new MyJavaFxTooltip());