JOptionPane.showMessageDialog ("Some Text") 뒤에 가 표시되면 도구 설명이 비활성화되고 다시 활성화하는 방법을 알 수 없습니다. 여기에 문제 데모 몇 가지 코드입니다 : 대화 상자를 표시 한 후 ToolTipText입니다 설정하면 도구 설명을 다시 사용하지 않는JOptionPane.showMessageDialog를 표시 한 후에 Java에서 툴팁을 활성화하십시오.
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();
}
}
참고 않으며, ToolTipManager에 그들을 다시 활성화 않습니다.
화면에서 창을 움직이면 도구 팁이 마술처럼 다시 작동하기 시작합니다.
위 코드는 주변에서 놀고 싶다면 "Out of the box"를 컴파일해야합니다.
미리 감사드립니다.
'showMessageDialog (...)'아래의 모든 항목을 제거해도이 기능은 정상적으로 작동하므로 메시지 팝업이 다시 시작되고 다시 'JButton '위에 마우스를 올려 놓으면 툴팁을 볼 수 있습니다. 기대하지 않았 으면 좋겠다. JOptionPane이 화면 상에있을 때 툴팁을 보여줄 것이다. 모달이기 때문에 문제의'JFrame'은 포커스를 얻지 못할 것이다. –
은 재생산 할 수 없습니다 - tooltiptext를 한 번 설정하면 올바르게 작동합니다 (jdk 7/win7) – kleopatra
@nIcEcOw +1 지원되지 않는 예상에 대한 생각 :-) "지원되지 않음"은 약간의 예상치 못한 생각이지만 네이티브 툴팁이 표시됩니다 .. – kleopatra