import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import
javax.swing.table.DefaultTableCellRenderer;
public class TestTable extends JFrame {
private static final long serialVersionUID = 1L;
TestTable() {
Object[] header = { "name", "age" };
Object[][] data = { { "zhang",
11 }, { "wang", 22 } };
JTable t = new JTable(data,
header);
t.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
t.getColumnModel().getColumn(1).setPreferredWidth(100);
DefaultTableCellRenderer render = new
DefaultTableCellRenderer();
render.setHorizontalAlignment(SwingConstants.CENTER);
t.getColumn("age").setCellRenderer(render);
JScrollPane js = new
JScrollPane(t);
getContentPane().add(js);
pack();
}
public static void main(String[] args) {
TestTable t = new TestTable();
t.setVisible(true);
}
}
说明:红色代码是关键部分,网上找了很多解决办法,都是通过重载DefaultTableCellRenderer的方式实现,感觉比较麻烦,其实只要建立一个renderer对象,设定其属性,再将表格设定为此方式的renderer即可。
加载中,请稍候......