TransferHandlerを使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更する
Total: 2090
, Today: 2
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
JList
、JTable
、JTree
のTransferHandler
を使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更します。
Screenshot
Advertisement
サンプルコード
UIManager.put("List.dropLineColor", Color.RED);
UIManager.put("Table.dropLineColor", Color.GREEN);
UIManager.put("Table.dropLineShortColor", Color.GREEN);
UIManager.put("Tree.dropLineColor", Color.BLUE);
// // Default drop line color:
// UIManager.put(List.dropLineColor, null);
// // Hide drop lines:
// UIManager.put(List.dropLineColor, new Color(0x0, true));
View in GitHub: Java, Kotlin解説
JList
はList.dropLineColor
でドロップラインの色を変更可能JTable
はTable.dropLineColor
でドロップラインの色を変更可能Table.dropLineShortColor
でマウスカーソル先のセルに引かれる短いドロップラインの色を変更可能UIManager.put("Table.dropLineShortColor", new Color(0x0, true))
でTable.dropLineShortColor
のみ非表示にすると、ドロップライン全体がTable.dropLineColor
で設定した色で描画される
JTree
はTree.dropLineColor
でドロップラインの色を変更可能
- たとえば
JList
をUIManager.put("List.dropLineColor", null)
でドロップラインの色にnull
を設定すると、デフォルト色でドロップラインが描画される - ドロップラインを非表示にする場合は、
UIManager.put("List.dropLineColor", new Color(0x0, true))
のように完全透明色を設定する
参考リンク
- swing - Java: How to change JTable drag & drop dropLine color? - Stack Overflow
- JTreeのノードをドラッグ&ドロップ
- こちらのドラッグ&ドロップは
TransferHandler
を使用していないため、Tree.dropLineColor
も無視して独自にドロップラインを描画している
- こちらのドラッグ&ドロップは