Java Swing GUI에서 작업 중이며 팝업 메뉴 항목의 툴팁 텍스트에 사소한 문제가 있습니다. 당신이 JMenuItem를 위에 마우스를 올려 때tooltipText 버그로 인해 JMenuItem이 포커스를 잃게됩니다.
은 기본적으로는 JMenuItem를 선택한 것을두고 원하는 도구 설명 텍스트를 표시하기로한다. 툴팁 텍스트가 STATECHANGE 이벤트가 선택 상태 등 도구 설명 텍스트 매우 빠르게 사라를 잃고 관련 JMenuItem를을 일으킬 것으로 보인다 표시되었을 때에 실제로 어떻게됩니까
이다. 이 작업은 처음에만 발생합니다. 마우스를 움직이면 JMenuItem을 다시 선택할 수 있으며 도구 팁 텍스트도 제대로 표시됩니다. 나는 이것을 남겨 둘 수 있었지만 ToolTipManager의 sharedInstance()를 통해 지연을 설정하기를 희망했다.이 시점에서 사용자는 문제를 실현 한 후 사용자가 두 번 오래 기다려야하기 때문에 사물의 사용자 친화적 측면을 해칠 수있다.
제가보고있는 문제를 반영하는 매우 간단한 데모를 만들었습니까? 제가 놓친 것이 있습니까? 아니면 그냥 Mac 8 문제일까요?
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class TestFrame {
static JFrame jf = new JFrame();
public static void main(String[] args){
jf = new JFrame();
JPanel jp = new JPanel();
jp.setBackground(Color.white);
jp.setForeground(Color.black);
JPopupMenu p = new JPopupMenu();
JMenuItem jmi = new JMenuItem("An option");
jmi.setToolTipText("mouse over text");
jmi.addChangeListener(new ChangeListener(){
@Override
public void stateChanged(ChangeEvent e) {
System.out.println("CHANGED by: "+e.getSource().toString());
}});
p.add(jmi);
jp.setComponentPopupMenu(p);
jf.add(jp);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jf.setSize(1000, 500);
jf.setPreferredSize(jf.getSize());
jf.setVisible(true);
}
}
덕분에, 그래 그건 내 시스템에서 동일한 결과를 제공합니다. 버그 리포트를 제출할 시간은 언제입니까? – Tdiddy
@trashgod [흥미로운 예제를 찾았습니다] (http://www.coderanch.com/t/645179/GUI/java/fireTableDataChanged-working) – mKorbel