I have a JTable with some fields with long text and some with little text.
By default, this is how it looks:
Notice how the "Name" and "Title" rows are not shortened.
I would like to know two things:
Here is the code:
String[] columnNames = {"Name", "Title", "Surname", "ID"};
Object[][] testData = {
{"John", "Mr.", "Doe", "61020384U"},
};
nameTable = new JTable(testData, columnNames);
nameTable.setFont(new Font("Tahoma", Font.PLAIN, 11));
window.add(new JScrollPane(nameTable));
I have looked at the Swing Tutorials but I either must have missed something or it isn't there.
I think that by defalut is there 80pixels, but you can change that with follows, for example ...
TableColumnModel tcm = myTable.getColumnModel();
tcm.getColumn(0).setPreferredWidth(100); //Name
tcm.getColumn(1).setPreferredWidth(40); //Title
tcm.getColumn(2).setPreferredWidth(400); //Surname
tcm.getColumn(3).setPreferredWidth(40); //ID
EDIT
to your second question is better look here, please there are lots of usefull examples about TableColumn
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With