4

私はこれをかなり長い間検索してきましたが、明確な例はどこにも見つかりませんでした。私は NetBeans を使用する Java 初心者です。JTable の最初の列 (「有効」と呼ばれる) にブール値があり、有効にするために必要な設定があるかどうかを確認するために呼び出す必要があるプラグイン コードがいくつかあります。メッセージ ボックスを開き、[有効] がチェックされないようにします。

私が本当に必要としているのは、チェックボックスがチェックされたときに関数が呼び出され、そこから取得できることだけです。誰かがこれを行う方法の例を持っていますか?

ご協力いただきありがとうございます!

ハリー

4

2 に答える 2

2

Listening for Data ChangesTableModelListenerで説明されているように、おそらく が必要です。または、コンセプト: エディターとレンダラーおよび次のセクションで説明されているように、カスタム エディターを使用することもできます。

于 2010-09-09T14:53:59.037 に答える
1

本当に必要なのは、チェックボックスがオンになっているときに関数が呼び出されることだけです。

チェックボックスをオンにすると、モデル内の値が変更されますが、これはおそらく希望どおりではありません。そもそもチェックボックスのチェックを避けたいと思います。

セルが編集可能になるのを防ぐ方法は、JTableのisCellEditable(...)メソッドをオーバーライドすることです。このメソッドをオーバーライドすることにより、セルを編集可能にするかどうかを動的に決定できます。

JTable table = new JTable( ... )
{
    public boolean isCellEditable(int row, int column)
    {
        int modelColumn = convertColumnIndexToModel( column );

        if (modelColumn == yourBooleanColumn)
            return isTheBooleanForThisRowEditable(row);
        else
            return super.isCellEditable(row, column);
    }
};

そして、より洗練されたアプローチは、ユーザーがセルをクリックしようとする前でもチェックボックスが「無効」に見えるようにカスタムレンダラーを作成することです。レンダラーでtrashgodが提供するリンクを参照してください。

于 2010-09-09T15:33:26.883 に答える