jtable column resizing

hello

I have an empty jtable and I would like to resize only the first column

I have been trying for the whole day ,but no success .

I hope any one may give me some help

here is a snap of my code ,I tried every way ,but my table still having equal column size

panel constructor

jTableMedicamentBase =new javax.swing.JTable();

jTableMedicamentBase.setModel(new javax.swing.table.DefaultTableModel(

new Object [][]{

{"test","l","ggg"},

{"test","fff","fff"},

{"ffff","ff","ff"},

{null, null,null}

},

new String []{

"Select","Name","Remark"

}

){

Class[] types =new Class []{

java.lang.Object.class, java.lang.Object.class, java.lang.String.class

};

SetMedicamentTableColumnsWindth();

addTableMedicamentBase();

end of the panel constructor

publicvoid addTableMedicamentBase()

{

// jPanelTest.add(jTableMedicamentBase);

jTableMedicamentBase.setPreferredScrollableViewportSize(jTableMedicamentBase.getPreferredSize());

jScrollPaneMedicamentBase.setViewportView(jTableMedicamentBase);

repaint();

}

publicvoid SetMedicamentTableColumnsWindth()

{

//TableColumn col;

//// jTableMedicamentBase.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);

////jTableMedicamentBase.setPreferredScrollableViewportSize(jTableMedicamentBase.getPreferredSize());

//

//col=jTableMedicamentBase.getColumnModel().getColumn(1);

//col.setWidth(150);

//repaint();

TableColumn column =null;

column = jTableMedicamentBase.getColumnModel().getColumn(1);

column.setWidth(100);

////jTableMedicamentBase.getColumnModel().getColumn(0).setResizable(false);

////jTableMedicamentBase.invalidate();

////jTableMedicamentBase.doLayout();

//jTableMedicamentBase.repaint();

}

Message was edited by:

linuxchild

Message was edited by:

linuxchild

[3605 byte] By [linuxchilda] at [2007-11-27 2:37:40]
# 1
you can't. However, you can enable/desable all columns resizing :table.getTableHeader().setResizingAllowed(false);
java_2006a at 2007-7-12 2:58:03 > top of Java-index,Desktop,Core GUI APIs...
# 2

thnak you

I have found the pb

infcat when resizing one column ,it does not work

must resize all the columns

TableColumn column = null;

for (int i = 0; i < 3; i++) {

column = table.getColumnModel().getColumn(i);

if (i == 0) {

column.setPreferredWidth(50); //sport column is bigger

}

if(i == 1)

{

column.setPreferredWidth(200);

}

if(i == 2)

{

column.setPreferredWidth(500);

}

strange but it is working

linuxchilda at 2007-7-12 2:58:03 > top of Java-index,Desktop,Core GUI APIs...