Java 根据文本大小自动调整JTable列的大小
我有一个JTable,其中有些字段有长文本,有些字段有小文本 默认情况下,它的外观如下所示: 注意“名称”和“标题”行是如何不缩短的 我想知道两件事:Java 根据文本大小自动调整JTable列的大小,java,swing,jtable,Java,Swing,Jtable,我有一个JTable,其中有些字段有长文本,有些字段有小文本 默认情况下,它的外观如下所示: 注意“名称”和“标题”行是如何不缩短的 我想知道两件事: 如何手动设置标题宽度(如姓名、标题、姓氏) 如何根据文本自动调整它们的大小 代码如下: String[] columnNames = {"Name", "Title", "Surname", "ID"}; Object[][] testData = { {"John", "Mr.", "Doe", "61
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));
我已经看过了,但我可能错过了什么,或者它不在那里 我认为defalut有80个像素,但是你可以用下面的方法来改变,例如
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
编辑
对于你的第二个问题是更好的看,请有很多关于TableColumn的有用的例子
2.如何根据文本自动调整它们的大小
查看。问题到您的观点
2)如何根据文本自动调整所有表格的大小。
您的意思是从每个表格列计算最大长度(例如字符串)并将其转换为像素吗