SWTのツールチップの遅延を変更することはできますか? Swingでは、通常、Tooltip.sharedInstance()のメソッドを使用します。これはSWTで壊れているようです。SWTのツールチップの遅延を設定する
1
A
答えて
2
いいえ、私の知る限りではありません。ツールチップは、基になるネイティブシステムのツールチップに密接に結合されているため、その動作に固執しています。
しかし、別の方法があります。ツールチップを自分で実装する必要があります。このアプローチでは、非常に複雑なツールチップを作成できます。
class TooltipHandler {
Shell tipShell;
public TooltipHandler(Shell parent) {
tipShell = new Shell(parent, SWT.TOOL | SWT.ON_TOP);
<your components>
tipShell.pack();
tipShell.setVisible(false);
}
public void showTooltip(int x, int y) {
tipShell.setLocation(x, y);
tipShell.setVisible(true);
}
public void hideTooltip() {
tipShell.setVisible(false);
}
}
3
次を使用することができます。
ToolTip tip = new ToolTip(shell, SWT.BALLOON | SWT.ICON_INFORMATION);
tip.setText("Title");
tip.setMessage("Message");
tip.setAutoHide(false);
その後、あなたは、それを表示tip.setVisible(true)
を使用して、指定した時間後にtip.setVisible(false)
を呼び出しますタイマーを起動したいとき。
tip.setAutoHide(false)
tip.setVisible(false)
に電話するまで、チップを強制的に押し続けます。
5
私は以下のようなものを使用します。 @Bazのおかげ:)
public class SwtUtils {
final static int TOOLTIP_HIDE_DELAY = 300; // 0.3s
final static int TOOLTIP_SHOW_DELAY = 1000; // 1.0s
public static void tooltip(final Control c, String tooltipText, String tooltipMessage) {
final ToolTip tip = new ToolTip(c.getShell(), SWT.BALLOON);
tip.setText(tooltipText);
tip.setMessage(tooltipMessage);
tip.setAutoHide(false);
c.addListener(SWT.MouseHover, new Listener() {
public void handleEvent(Event event) {
tip.getDisplay().timerExec(TOOLTIP_SHOW_DELAY, new Runnable() {
public void run() {
tip.setVisible(true);
}
});
}
});
c.addListener(SWT.MouseExit, new Listener() {
public void handleEvent(Event event) {
tip.getDisplay().timerExec(TOOLTIP_HIDE_DELAY, new Runnable() {
public void run() {
tip.setVisible(false);
}
});
}
});
}
}
使用例:SwtUtils.tooltip(button, "Text", "Message");
関連する問題
- 1. Java Swingで特定のコンポーネントのツールチップの遅延時間を設定する
- 2. NSStatusItemツールチップ - 変更の遅延
- 3. ツールチップを表示する前の遅延
- 4. ダイナミック遅延設定
- 5. UIAlertViewの遅延を設定する
- 6. AngularJS 1.5設定遅延
- 7. scollの間にjcarouselの遅延を設定するには?
- 8. 遅延測定
- 9. アンドロイドの "onItemSelected()"機能で遅延を設定する方法は?
- 10. iOS遅延後のプロパティを設定する
- 11. 遅延ジョブのスリープ時間を設定する
- 12. mongodbインスタンスのslaveOkの最大遅延を設定します。
- 13. 遅延スケジューラキューは遅延ジョブの/ lots /を処理する予定ですか?
- 14. ManipulationMode = "Control"を設定すると遅延が発生します
- 15. アンドロイドに遅延を設定する方法
- 16. jqueryで遅延時間を設定するには?
- 17. SWTの色を設定する
- 18. これでJqueryの遅延や設定時間が外れる
- 19. javacriptの関数の属性の設定での遅延
- 20. Railsでのモデル属性の遅延設定?
- 21. オブジェクトを生成するまでの遅延時間を設定する
- 22. ルビー、遅延ジョブ、遅延:バックエンド:ActiveRecordの
- 23. ボタンの遅延を設定するには、javaをクリックしますか?
- 24. Doctrine2のデフォルトとして遅延読み込みを設定するには?
- 25. ユニットテスト(遅延ロード)のためにHibernateでSpring JPAアプリケーションを設定する
- 26. プログラム全体を遅延させるメソッドの時間遅延
- 27. 設定されたカラーフィルターを持つ遅延
- 28. GAE:遅延の遅いリクエスト
- 29. アンドロイドスライドショーの遅延が遅い
- 30. Accessibility.dllの遅い遅延ロード?