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 程序设计 求案例 增强的for循环 eclipse 与 JDK 的区别 如何用Java Swing做一个类似记事本的文本编辑器?谢谢各位! 请教一个问题 有关I/O 高手请进 解决Java实现鼠标拖放文件功能! 如何将一个字符串转化成数值型? 如何编译执行? 如何用DirectColorModel构造方法创建其他颜色模型 哪里还可以下载jdk1.4正式版?我在sun上download不下来! 一个好象不可能完成的任务,高手请进来看看! 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();
}