ここから本文です

D&Dでマウスボタンを離した際にJTableのどのセル上で離されたか知る方法について

このエントリーをはてなブックマークに追加

質問者

toorosiさん

2007/10/3113:38:13

D&Dでマウスボタンを離した際にJTableのどのセル上で離されたか知る方法について

JTable上でマウスのボタンを離した際に(ドラッグ&ドロップ)
JTableのどのセル上でボタンが離されたのか知る方法はありますでしょうか?
ご存知の方がいましたらご教授くださいよろしくお願いいたします。

閲覧数:
1,090
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

2007/10/3115:27:47

http://java.sun.com/docs/books/tutorial/uiswing/examples/dnd/index....
の「Extended DnD Demo Project」が参考になるので、これをベースにして回答します。

TableTransferHandler#importStringメソッドを以下のように変更(差し替え)します。
JTableのインスタンスから、JTable.DropLocationインスタンスを取得して、getColumn、getRow
メソッドを使用することで、ドロップしたセルを知ることができます。

protected void importString(JComponent c, String str) {
JTable target = (JTable)c;

JTable.DropLocation loc = target.getDropLocation(); // ドロップ位置情報取得
System.out.println("Drop Column:" + loc.getColumn()); //ドロップした列番号
System.out.println("Drop Row:" + loc.getRow()); //ドロップした行番号

DefaultTableModel model = (DefaultTableModel)target.getModel();
model.setValueAt(str, loc.getRow(), loc.getColumn());
}

※Java6以上に対応

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル
  • このエントリーをはてなブックマークに追加
簡単にみんなで作るショート動画アプリ Yahoo!Chocotle for Android(無料)

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する