1、http://blog.sina.com.cn/s/blog_6cba238f0101bmj1.html
//设置表数据居中显示
DefaultTableCellRenderer cr = new DefaultTableCellRenderer();
cr.setHorizontalAlignment(JLabel.CENTER);
table.setDefaultRenderer(Object.class, cr);
//设置表头居中显示
DefaultTableCellHeaderRenderer hr = new DefaultTableCellHeaderRenderer();
hr.setHorizontalAlignment(JLabel.CENTER);
table.getTableHeader().setDefaultRenderer(hr);
2、http://blog.sina.com.cn/s/blog_621c26650100fpm1.html
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
3、
//设置表头内容居中
((DefaultTableCellRenderer)table.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(JLabel.CENTER);
//设置单元格内容居中
DefaultTableCellRenderer render = new DefaultTableCellRenderer();
render.setHorizontalAlignment(SwingConstants.CENTER);
table.getTableHeader().getColumnModel().getColumn(0).setCellRenderer(render);