在 JOptionPane.showMessageDialog("Some Text"); 已显示,工具提示已禁用,我不知道如何重新启用它们。这是一些演示问题的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ToolTipError extends JPanel{
JButton button;
public ToolTipError() {
button = new JButton("ToolTipHere");
button.setToolTipText("This is Java! There is no help");
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonActionPerformed(evt);
}
});
add(button);
}
void buttonActionPerformed(ActionEvent env) {
System.out.println("Button pushed."); //TEST
JOptionPane.showMessageDialog(null, "This disables ToolTips!");
// This does not re-enable the tool tip:
button.setToolTipText("This is Java! There is no help");
// Nor does this:
ToolTipManager.sharedInstance().setEnabled(true);
}
void start() {
//Create and set up the window.
JFrame frame = new JFrame("ToolTipError");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
ToolTipError newContentPane = new ToolTipError();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
ToolTipError tte = new ToolTipError();
tte.start();
}
}
请注意,在显示对话框后设置 ToolTipText 不会重新启用 ToolTips,也不会在 ToolTipManager 中重新启用它们。
请注意,如果您在屏幕上移动窗口,工具提示会神奇地再次开始工作!?!
如果您想尝试一下,上面的代码应该为您编译“开箱即用”。
提前致谢!