-3

removeAll() メソッドの javadoc を読みましたが、どうなるかよくわかりません。myJtable に含まれるすべてのデータを削除し、新しいデータを追加する必要があります。removeAll はテーブル内のデータのみを削除しますか?

それが私のjtableを宣言した方法です:

JTable table = new JTable(new DefaultTableModel(info, myHeader)) {
        @Override
        public boolean isCellEditable(int row, int column) {
            //disable table editing
            return false;
        }
    };
    header = table.getTableHeader();
    header.setBackground(Color.GREEN);
    JScrollPane scroll_pane = new JScrollPane(table);
    //hide column
    table.removeColumn(table.getColumnModel().getColumn(1));
    //scrollbar insert
    table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    //disable dragging and resizing column
    table.getTableHeader().setReorderingAllowed(false);
    table.getTableHeader().setResizingAllowed(false);
    table.addMouseListener(new JTableRowListener(table));

JTable コンストラクターの引数は String 配列です

4

1 に答える 1

3

を呼び出すのではなく、JTable のモデルを変更したいremoveAll()JTable APIにアクセスすると、removeAll()メソッドが JTable 固有のメソッドではなく、JTable の親の 1 つである Container のメソッドであることがわかります。このメソッドは「JTable 固有」のアクションを実行するのではなく、例として JPanel に保持されているコンポーネントなど、コンテナーに保持されているすべてのコンポーネントを削除します。

JTable を空にするには、次のいずれかを実行します。

  • JTable の現在のモデルが保持するすべてのデータを削除します
  • または、現在のモデルの行数を 0 に設定します
  • setModel(...)または、そのメソッドを介して JTable のモデルを新しい (空の) モデルに変更します

ソリューションの詳細は、現在のコードの詳細、JTable とそのモデルの設定方法などによって異なります。詳細については、関連するコード (できればSSCCE ) を見せてください。プログラムとそのデータに関する詳細情報、およびコードで現在発生している可能性のある問題の詳細。

詳細については、JTable チュートリアルをご覧ください。


編集

以前の JTable の質問に対する camickr の受け入れられた回答で、JTable チュートリアルへの同じリンクが既に提供されています。おそらく、チュートリアルの学習を検討する時が来ました。

于 2013-08-11T17:17:56.753 に答える