1

私のコードではJTable、データベースからのデータを入力しました。

これは私のJPanelのコンストラクタです:

public MainPanel(Vector<Vector<String>> films) 
{
    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    int width = this.getSize().width;
    int height = this.getSize().height;
    int x = (dim.width-width)/2;
    int y = (dim.height-height)/2;

    header = new Vector<String>();
    data = new Vector<Vector<String>>();
    header.add("ID");
    header.add("Name");
    header.add("Year");
    header.add("Genre");
    this.data = films;

    this.setVisible(true);
    this.setLocation(x, y);
    initComponents();        
}

これは の初期化ですJTable:

jTable2 = new javax.swing.JTable();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jTable2.setModel(new javax.swing.table.DefaultTableModel(
        data, header
));

TableColumnModel tcm;
tcm = jTable2.getColumnModel();

for (int i = 0; i < header.size(); i++)
{
    TableColumn tc;
    tc = tcm.getColumn(i);
    tc.setWidth(2);
}

なぜ幅が2ではなく、まだ同じなのか、誰か助けてもらえますか?

返信ありがとうございます。

4

3 に答える 3

3

調べてください:

  1. JTable.getColumnModel()
  2. TableColumnModel
  3. TableColumnModel.getColumn(int)
  4. TableColumn.setWidth(int)最大/最小バリアントと同様に。
于 2013-05-02T16:35:13.790 に答える
0

AbstractTableModel をサブクラス化して、独自のテーブル モデルを作成します。行/列数、列名、およびセル値を指定できます。テーブル モデルの理解が深まります。

于 2013-05-02T18:38:08.563 に答える