• ベストアンサー

JTreeのドラッグアンドドロップ選択色について

お世話になっております。 JTreeのノードをドラッグアンドドロップする際に、 選択されているノードは色が付くのですが、ドロップ対象にも 色を付けたいと思っています。 ドラッグ対象とドロップ対象の両方に選択色を付けるには どうすれば宜しいでしょうか。 宜しくお願いいたします。

  • Java
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.2

細かい処理というのがよくわかりませんが、そこは触れないでおくことにしましょう。 ドロップターゲットをハイライト表示するのは、レンダラーの処理以外にはありえませんから、 レンダラーについて検索してみる、もしくはDefaultTreeCellRendererのソースを参照してみればいいと思います。 おそらく、ここに書ききれる内容ではない気がしますので。

wafu1318
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 色々と試してみたのですが、 もう少し時間がかかりそうなので 一旦クローズとさせて下さい。 レンダラーについて調べてみます。 ご対応頂きありがとうございました。

その他の回答 (1)

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

java6からJTreeのドロップ先はハイライトを表示されます。 せっかく対応してくれているので、それを利用すればいいと思うのですが、何か問題があるのでしょうか? 問題があるのでしたら、それを記述しないと、ポイントがわからないため、的確な回答はできません。

wafu1318
質問者

補足

ご連絡ありがとうございます。 Swingのドラッグ&ドロップだと、 TransferHandlerクラスを使用して 実行するかと思います。 しかし、細かい処理を設定することが 出来ないため、以下のリスナーでドラッグ& ドロップを実装しています。 DroptargetListener DragSourceListener DragGestureListener これらのリスナーを使用した場合は、 自分で明示的にハイライトを付けないと 駄目ですよね?

関連するQ&A

  • ドラッグアンドドロップができない

    ドラッグアンドドロップができなくなりました。いつからかはわかりません。 ドラッグアンドドロップの代わりに右クリックでコピーしてから貼付けでコピー・ペーストはできます。しかしドラッグアンドドロップができません。 何が原因でこのようになってしまったのか解決できなくて困っています。

  • ドラッグアンドドロップが出来ない

    数日前まで何気にドラッグアンドドロップで下書きした文章等を例えばFacebook等の投稿に使っていましたが、いきなり出来なくなりました。OSは「7」、Internet Explorerは「Version 10」です。コピーして貼り付ける事は可能ですが、ドラッグアンドドロップではドロップする際に黒い○に斜めの線が入り、落ちません。但し、試しにデスクトップ上に画像を一旦保存し、ドラックアンドドロップでゴミ箱へは移せますし、ハードディスク上でも、例えばドライヴCからDへの移動は出来ます。 スタートからプロパティ、カスタマイズと進み、「コンテキスト メニューと~」の「ドラックアンドドロップ」では、有効化するにチェックが入っています。 コントロールパネルから「マウス」へ、「クリックロックをオンにする」にはチェックは入っていません。 タスクバーから「タスクマネージャーの起動、というネット上で紹介されている方法も試しましたが、解決しませんでした。 マウスに不具合が有ると、線が引けないという情報も有ったので、Photosshop Elementsで線を引っ張ってみたり、「IMEパッド」で手書きもしてみましたが、問題なく線も引けます。 達人のお知恵拝借。

  • Photoshopにドラッグアンドドロップで

    PhotoshopCS5で画像編集しています。 カンバスサイズを1000×1000で新規作成の際 800×800など、カンバスサイズより小さい画像を エクスプローラからPhotoshopに ドラッグアンドドロップしたところ 全ての画像ではなく、画像によっては貼り付けられた時に 1/6サイズやそれ以下になり とても小さくなってしまうことがあります。 どうすれば、ドラッグアンドドロップで サイズを変えずに貼り付けられるのでしょうか。

  • JTreeの+-ボタンについて

    JTreeを使ってウィンドウズエクスプローラーのようなものを作りたいと思っています。 JTreeはノードのテキスト内をクリックしないと選択されませんが、エクスプローラーのツリーはそのノードと同じ高さであればどこをクリックしても選択になります。 それを再現しようと以下のコードを書いてみました。 しかしこれだとツリーのノードの展開、非展開を切り替える+-のボタン?の動作が変になります。 +-ボタン領域をクリックすると展開、非展開切り替えの後で改めてノードを選択、展開になります。 +-ボタン領域をクリックした場合はノード選択の処理に入らないようにすれば良いと思うのですがその+-ボタン領域の計算方法や取得方法が分かりません。 あるいはもっと良い方法を知っている方、是非教えてください。よろしくお願いします。 jTree.addMouseListener(new MouseAdapter() {  public void mouseClicked(MouseEvent e) {   int d = jTree.getRowBounds(0).getBounds().y;   int row = jTree.getRowCount();   int height = jTree.getRowHeight();   int mouse = e.getY() + d;   int selectrow = 0;   if (height > 0) {     selectrow = (int) (mouse / height);   } else {     selectrow = jTree.getRowForLocation(e.getX(), e.getY());   }   if (selectrow < row) {     jTree.setSelectionRow(selectrow);   }   if (SwingUtilities.isRightMouseButton(e)) {     jPopupMenu.show(e.getComponent(), e.getX(), e.getY());   }  } });

    • ベストアンサー
    • Java
  • .netのAjaxでドラッグアンドドロップ

    AtlasがAjaxControlToolkitに包含されるようになったときいておりますが、 AjaxControlToolkitを使って、web上でドラッグアンドドロップを実装しようとしています。 間違えないようにコメントしておきますが、 ここで申しております、ドラッグアンドドロップは コントロールをマウスで移動できるようにすることです。 iGoogleのようなコントロールの移動です。 しかしながら、なかなか参考サイトなどがみつからず、 実装できておりません。 asp.net2.0でドラッグアンドドロップの実装方法はどうしたらいいのでしょうか?

  • ドラッグアンドドロップができない

    今日からいきなりファイルのドラッグアンドドロップができなくなりました。 他の設定は何もいじっていないので原因がわかりません。 原因と対処がわかる方教えてください。

  • ドラッグアンドドロップ

    以前はファイルのドラッグアンドドロップができたのですが今は切り取り・貼り付けで処理しています。元に戻すにはどうすれば良いでしょうか。尚osはwin98です。宜しくお願いします。

  • ドラッグアンドドロップができなくなった件(XP)

    お世話になっています。 ウィンドウズXPなのですが、ファイルやフォルダーなどのドラッグアンドドロップができなくなりました。 この場合、どの様にしたら修復できるのですか? 宜しくお願いします。

  • メールへのドラッグアンドドロップ

    こんばんは Outolook Expressでメールをしています。 メールの文中にURLやアドレス帳から宛先にドラックアンドドロップをしようとしても うまくいきません。URL は添付のところに入ってしまい、アドレス帳から宛先に ドラックアンドドロップしようとしても、名前だけが入りアドレスが入りません。 そうすればよいでしょうか。? 永遠の初心者より

  • OLE ドラッグアンドドロップの代わりに

    いつもお世話になっています。 VBに、OLEドラッグアンドドロップというのがVBでありますよね。 これと同じようなことを、Commandなどをクリックしたとき発生させたいのですが、どうすればよいでしょう。 具体的に言うと、これで実現できるようなデータの受け渡しをしたいのです。ドラッグアンドドロップをさせるのは面倒なので、なんとかデータをボタンクリック一つで実現させたいのです。 クリップボード経由を使うという手もあるかもしれませんが、これを使うと、特殊なデータは渡せないようですし…… つまり、ドラッグアンドドロップで受け渡されるDataObjectを、クリックだけで別のフォームやリッチテキストボックスなどに受け渡すというか貼り付けられるようにしたいのです。 DataObjectと似たようなものがあればいいんですが、見つかりませんし…… どうすればいいのか全く分かりません。些細な情報でも良いので、どうか教えてください。 よろしくお願いします。(ちなみに、VB6です)

専門家に質問してみよう