gpt4 book ai didi

java - JButton 动态工具提示文本未显示

转载 作者:行者123 更新时间:2023-11-30 04:01:15 25 4
gpt4 key购买 nike

我想为我的 JButton 提供动态工具提示,因此我使用类似的方法来覆盖 getToolTipText() 方法...

JButton myJButton=new JButton("My Button"){
public String getToolTipText(MouseEvent evt){
ToolTipManager.sharedInstance().setInitialDelay(100);
ToolTipManager.sharedInstance().setDismissDelay(60000);

return "Test Tip Here";
} // Return plain text now, will be replaced by calculateTipText() later
};

当我有此代码时,根本不显示任何工具提示。

但是,如果我添加像这样的另一行...

myJButton.setToolTipText("Hi");

此后,工具提示将正确显示为Test Tip Here

为什么在我调用 setToolTipText() 之前我的工具提示不起作用?

最佳答案

当您调用 setToolTipText() 时,监听器将在您的 JButton 上注册,以允许显示工具提示。这些监听器仅在您调用 setToolTipText() 时在 JButton 上注册,因为当只有一个其中一小部分实际上设置了工具提示值。

覆盖 getToolTipText() 方法将返回您指定的 String,但前提是您首先在 JButton 上注册监听器(通过调用 setToolTipText() 方法)。

引用JButton源代码here您可以在其中看到它设置值,然后在 ToolTipManager 中注册监听器。您也许可以自己注册监听器来实现您想要的目的,例如在创建按钮后调用此...

ToolTipManager.sharedInstance().registerComponent(myJButton);

关于java - JButton 动态工具提示文本未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com