-1

我有一个带有图标、工具提示的 Java 程序……我需要的是,每次显示工具提示时,都应将包含的文本复制到 Windows 剪贴板。

任何解决方案都应该是所有工具提示的通用单一解决方案。我无法更改它们中的每一个的属性(有数千个......)

谢谢!

4

1 回答 1

0

在我看来,如果您确实在使用 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());
于 2012-04-11T12:04:39.143 回答