コンポーネントをドロップできる JTable があります。これらのコンポーネントの一部は、テーブルへの挿入としてのみドロップできます (既存のセルにはドロップできません)。
私の質問は、これらのコンポーネントのセルへのドロップを禁止する方法です。私は次のようなものを試しました:
JTable table = new JTable();
table.setDropMode(DropMode.ON_OR_INSERT_COLS);
table.setTransferHandler(new ExampleTransferHandler());
boolean onlyColumnInsert = true;
private class ExampleTransferHandler extends TransferHandler{
public boolean canImport(TransferSupport support){
if(onlyColumnInsert){
return table.getDropLocation().isInsertColumn();
}else{
return true;
}
}
}
isInsertColumn() はドロップが完了した後にのみ設定されるためです。ドロップによって TransferHandler の canImport() メソッドから列が挿入されるかどうかを検出する他の方法はありますか?
ありがとう!