gpt4 book ai didi

java - ToolTipManager 中的 setDissmissDelay() 方法未设置其值

转载 作者:行者123 更新时间:2023-12-01 14:59:53 24 4
gpt4 key购买 nike

我想多次设置 setDissmissDelay() 方法,但无法一次又一次地将其设置为特定值。我还尝试使用无限循环,并尝试覆盖(ToolTipManager 构造函数位于默认修饰符上)。

我确信代码工作正常,因为我可以看到它在控制台中打印 e.getsource() 。我试图解决某人( This Question )提出的这个问题,在解决这个问题时,我在这一点上陷入了困境。这背后的原因是什么?如果我可以设置这个值怎么办?还有其他方法可以实现这一点吗?

这是我的代码片段:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.*;

public class Hello {
static JButton button;

private static void createAndShowGUI() {
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

button = new JButton("Hello World");
button.setToolTipText("Its a tool tip Experiment!");
frame.getContentPane().add(button);
button.addMouseListener(new MouseAdapter() {

@Override
public void mouseEntered(MouseEvent e) {

if (e.getSource() == button) {
ActionListener tt = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ToolTipManager.sharedInstance().setDismissDelay(
1000);
System.out.println(e.getSource());
}
};
new Timer(100, tt).start();
}
}
});
frame.pack();
frame.setVisible(true);

}

public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}

请指导我完成这个任务。

最佳答案

调用setDismissDelay()是一项全局设置,用于指示工具提示在被删除之前应在显示屏上保留多长时间。在删除当前工具提示之前,它不会重置时间。正如链接问题中所建议的,将解除延迟设置为 Integer.MAX_VALUE 应该可以解决问题。

关于java - ToolTipManager 中的 setDissmissDelay() 方法未设置其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13824860/

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