« 結局 Java 1.6 へ移行 | トップページ | OpenDolphin-1.3.0.3 公開(Java 1.6 専用) »

2009年10月29日 (木)

Drag & Drop のインターフェース

テーブルで Drag & Drop で項目の順番を変更する場合,Drop する場所が項目の隙間に示されるようにした。ドロップ場所が直感的に分かりやすい。基本的には JTable に setDropMode して TransferHandler をちょっと書き換えればできてしまうが,quaqua ではレンダラが対応していないので,MasterPanelTableCellRenderer.java を作った。

01medtable

  • MedicineTablePanel.java
  • RadItemTablePanel.java
  • ItemTablePanel.java
  • MasterItemTransferHandler.java
  • DiagnosisTablePanel.java
  • RegisteredDiagnosisTransferHandler.java
  • MasterPanelTableCellRenderer.java

 

スタンプ箱も,ドロップ場所が直感的に分かりやすい様にした。フォルダに重ねるとフォルダの中へ,フォルダの前後に置くとその場所にドロップできるようになっている。

Regular1

Regular2

Regular3

 

JTree の場合,こういう所が微妙だった。フォルダの上や下に入るのか,展開されたリストの一番上や一番下に入るのか。下線の左端がどこにあるかで判定するようにした。

Angled2

Angled1

  • StampTree.java
  • StampTreeDropTargetListener.java
  • StampTreeRenderer.java
  • StampTreeTransferHandler.java

« 結局 Java 1.6 へ移行 | トップページ | OpenDolphin-1.3.0.3 公開(Java 1.6 専用) »

OpenDolphin」カテゴリの記事