2011-01-11 5 views
0

私はカスタムエディターとレンダラーでJTableを持っています。私はテーブルモデルも持っています。ユーザーが特定の列のセルをクリックすると、特別な入力ウィンドウがインスタンス化されます。私はisCellEditable()のロジックを記述しましたが、問題はその特定の列の任意のセルをクリックすると入力ウィンドウがポップアップし、今までのすべてのものが正常に動作するまで私の値を入力することです。しかし、今では、ヘッダーをドラッグして列の位置を移動しようとすると、isCellEditable()が呼び出され、ユーザーがその特定の列のセルをクリックしなくてもウィンドウがポップアップします。 ユーザーのクリックと列のドラッグを区別する方法を教えてください。isCellEditable()は、ユーザーのクリックや列のドラッグによって呼び出される方法を区別する方法

よろしく クリシュナ

答えて

0

私は私の質問への答えを見つけることができませんでしたが、私は私の目的は解決しましたが。私はクラス内で複雑なウィンドウをインスタンス化するという私の論理を書きました:CustomCellRenderer、getTableCellEditorComponent()。私のCustomCellRendererはDefaultCellEditorを継承します。私がやっていた唯一の間違いは、ロジックのテーブルモデルのsetValueAt()を呼び出すことでした。後で、getTableCellEditorComponent()内のコンポーネントの値を設定するオプションがあることがわかりました。後で同じコンポーネントが返されます。

関連する問題