半透明の DnD フィードバック
スタンプのドラッグを開始した時,オリジナルの状態では,ドラッグ中のスタンプは長方形の線で表示されるのみである。これが,ドラッグ中もスタンプが半透明で表示されると,何をドラッグしているのかがわかりやすい。そのために使えそうな TransferHandler#getVisualRepresentation(Transferable t) というメソッドがあるが,実際やってみると,このメソッドをオーバーライドしても呼ばれることはなく無視されてしまう。このことはオラクルのサイトにバグとして報告されており,同サイトに work around (PatchedTransferHandler.java)が出ていた。これを組み込んで改造して,下のように半透明のフィードバックが出るようにした。ただし,Mac でしか動かないようだ。
| スタンプのドラッグ:改造前 |
| 改造後 |
|
| ||
| スタンプ箱からのドラッグ:改造前 |
| 改造後 |
|
| ||
| シェーマのドラッグ:改造前 |
| 改造後 |
|
|
- PatchedTransferHandler.java
- TransferHandler に exportAsDrag と getVisualRepresentation をインプリメントする。
« IME on/off の切り替え | トップページ | 部位入力パネルをグラフィカルに »
「OpenDolphin」カテゴリの記事
- 運用18年目のまとめ(2026.02.07)
- IME on/off の切換 - その5(2026.01.05)
- IME on/off の切換 - その4(2025.12.23)
- IME on/off の切換 - その3(2025.12.20)
- OpenDolphin: Java 25 / WildFly 38 への移行(2025.11.09)








