TableHeader组件每个column的宽度如何按照表头column的内容长度自动设定 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己写一个算法,根据所有表头名称的比例进行调配columnmodel public class TestTable { public static void main(String[] args) { JFrame frame = new JFrame("表格"); String[] headers = {"第一列","第二列是一个长列"}; TableColumn tc1 = new TableColumn(); TableColumn tc2 = new TableColumn(); tc1.setHeaderValue(headers[0]); tc2.setHeaderValue(headers[1]); tc1.setWidth(headers[0].length()*20); tc2.setWidth(headers[1].length()*20); DefaultTableColumnModel dtc = new DefaultTableColumnModel(); dtc.addColumn(tc1); dtc.addColumn(tc2); JTableHeader th = new JTableHeader(dtc); th.setLayout(new FlowLayout()); frame.getContentPane().add(th); frame.setSize(600, 600); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setVisible(true); }} TableCellRenderer renderer = table.getTableHeader().getDefaultRenderer();for (int columnindex = 0, columncount = table.getColumnCount();columnindex<columncount;columnindex++) { Component c = renderer.getTableCellRendererComponent(table, table.getColumnName(columnindex), false, false, 0, columnindex); Dimension dim = c.getPreferredSize(); TableColumn tc = table.getColumn(table.getColumnName(columnindex)); tc.setWidth(dim.width); tc.sizeWidthToFit();} 如果你的Table的autoResizeMode设置为AUTO_RESIZE_OFF 的时候去做这件事情应该比较有意义. 类过多会影响运行效率吗? java 中怎么继承一个对话框也就是JDialog if 和switch语句效率比较 类的成员变量与类中函数的变量有什么区别 请教下一个问题 日..期..问..题.. 如何获得某年某周的起始日期和结束日期 比如2005年第10周的起始日期和结束日期 求教java问题 哪 位 朋 友 有 基 于 UDP 的 客 户 端 /服 务 器 端 源 码 呀 ? 谁知道JBuilder7怎么注册? 关于jdk的问题。绝对给分! 一个好象不可能完成的任务,高手请进来看看! java.uti.Date一個問題
public static void main(String[] args) {
JFrame frame = new JFrame("表格");
String[] headers = {"第一列","第二列是一个长列"};
TableColumn tc1 = new TableColumn();
TableColumn tc2 = new TableColumn();
tc1.setHeaderValue(headers[0]);
tc2.setHeaderValue(headers[1]);
tc1.setWidth(headers[0].length()*20);
tc2.setWidth(headers[1].length()*20);
DefaultTableColumnModel dtc = new DefaultTableColumnModel();
dtc.addColumn(tc1);
dtc.addColumn(tc2);
JTableHeader th = new JTableHeader(dtc);
th.setLayout(new FlowLayout());
frame.getContentPane().add(th);
frame.setSize(600, 600);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
}
for (int columnindex = 0, columncount = table.getColumnCount();columnindex<columncount;columnindex++) {
Component c = renderer.getTableCellRendererComponent(table, table.getColumnName(columnindex), false, false, 0, columnindex);
Dimension dim = c.getPreferredSize();
TableColumn tc = table.getColumn(table.getColumnName(columnindex));
tc.setWidth(dim.width);
tc.sizeWidthToFit();
}