加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

JTable中如何让单元格文字居中

(2009-10-26 13:56:16)
标签:

杂谈

分类: 小技巧

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即可。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有