我想使用這個類和一個JComponent的setToolTipText方法不叫,但低於不是代碼 顯示工具提示:使用的JToolTip
JButton btn = new JButtn("SAVE");
JToolTip tip_for_button = new JToolTip();
tip_for_button.setTipText("blah blah");
tip_for_button.setComponent(btn);
爲什麼呢?
我想使用這個類和一個JComponent的setToolTipText方法不叫,但低於不是代碼 顯示工具提示:使用的JToolTip
JButton btn = new JButtn("SAVE");
JToolTip tip_for_button = new JToolTip();
tip_for_button.setTipText("blah blah");
tip_for_button.setComponent(btn);
爲什麼呢?
您可能需要調用setToolTipText()。詳情請參閱http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/components/tooltip.html。
雖然他聲明他不想使用「setToolTipText()」。 – Gnoupi 2010-07-12 15:28:41
什麼是tip_for_button
?對於它的工作,我敢肯定,tip_for_button
必須tip
對不起,我更改了代碼,但這不是問題。 – xdevel2000 2010-07-12 17:32:08
好了,因爲所有實際捕獲鼠標事件並顯示工具提示是ToolTipManager
(這個類的一個實例是單身的代碼,在應用程序中唯一)和ToolTipManager
始終在確定要顯示的工具提示時調用JComponent.createToolTip()
方法。所以,如果你想使用自己的工具提示,你必須覆蓋此方法並寫出這樣的事:
JButton btn = new JButton("SAVE"){
public JToolTip createToolTip() {
JToolTip tip_for_button = new JToolTip(){
public String getTipText() {
return "blah blah";
}
};
tip_for_button.setComponent(this);
return tip_for_button;
}
};
btn.setToolTipText("notnull");
setToolTipText
是強制性的,或者提示不顯示出來,傳遞給它的文本始終設爲由Component創建的工具提示,所以如果你想要不可變的文本,你可以覆蓋JToolTip.getTipText()
。
嗯,我試過了,但它不起作用......你確定它適合你嗎? – 2010-07-12 16:11:53
@Sylvain M修正的代碼,現在它工作。 – Taisin 2010-07-12 16:43:30
Thx通過閱讀API並進行嘗試,我的結論是,如果不調用setToolTipText(),則不顯示任何工具提示。我不知道我們是否正確,但目前,只有這種解決方案似乎可行... – 2010-07-13 06:30:46
您需要添加更多代碼,理想情況下是[SSCCE](http://sscce.org/)。因此,很難回答你,因爲我們錯過了所有的背景。您提供的內容不足以描述問題。 – Gnoupi 2010-07-12 15:27:41
上述組件只是簡單地插入帶有BorderLayout容器的JFrame窗口中......我不認爲有必要顯示問題解決方案。 但是,謝謝。 – xdevel2000 2010-07-12 15:41:35