我正尝试使用setPreferredWidth()
来更改列的大小,但是由于某些原因,唯一更改列的大小是最后一个(“作业”)。
我真的不知道该怎么办,我认为如果由于某种原因将其余列的大小设置为75,则与内部创建的最后两列有关。
当ubi和job等于“”时,它将创建列,然后正确填充JTable
,但是由于某些原因,只有列job的大小更改为150或设置了任何大小。
public void FillTable(JTable TablaEmp, String ubi, String job) {
DefaultTableModel modelT = new DefaultTableModel();
TablaEmp.setModel(modelT);
TablaEmp.setDefaultEditor(Object.class, null);
modelT.addColumn("ID");
modelT.addColumn("Name");
modelT.addColumn("Surname");
int cont = 2;
int contobject = 3;
int ubicolumn = 0;
int jobcolumn = 0;
TablaEmp.setAutoResizeMode(TablaEmp.AUTO_RESIZE_OFF);
TablaEmp.getColumnModel().getColumn(0).setPreferredWidth(150);
TablaEmp.getColumnModel().getColumn(1).setPreferredWidth(150);
TablaEmp.getColumnModel().getColumn(2).setPreferredWidth(150);
int numSize = employee.list().size();
if (ubi.equals(" ")) {
modeloT.addColumn("Ubi");
cont += 1;
contobject += 1;
ubicolumn = cont;
TablaEmp.getColumnModel().getColumn(ubicolumn).setPreferredWidth(150);
} else {
//nothing
}
if (job.equals(" ")) {
modeloT.addColumn("Job");
cont += 1;
contobject += 1;
jobcolumn = cont;
TablaEmp.getColumnModel().getColumn(jobcolumn).setPreferredWidth(150);
} else {
//nothing
}
Object[] column = new Object[contobject];
for (int i = 0; i < numSize; i++) {
//Fill Jtable working
}
}