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 を設定しても、ToolTip は再度有効にならず、ToolTipManager で再度有効にすることもできないことに注意してください。
画面上でウィンドウを移動すると、魔法のようにツール ヒントが再び機能し始めることに注意してください!?!
上記のコードを試してみたい場合は、「すぐに使える」ようにコンパイルする必要があります。
前もって感謝します!