在我的代码中,我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并且仍然相同?
感谢您的回复。
答案 0 :(得分:3)
查看:
答案 1 :(得分:2)
请参阅Setting and Changing Column Widths上的Swing教程中的部分。你使用的是错误的方法。
答案 2 :(得分:0)
通过继承AbstractTableModel创建自己的表模型。 您可以指定行/列计数,列名称和单元格值。 您将更好地了解表格模型。