DefaultTableModel中心文本

时间:2017-10-06 05:44:30

标签: java swing

我有这个代码,其中我将字符串数据动态插入JTable作为对象类型数据。我想将插入到表格的数据与中心对齐。请在这需要帮助。

这是我的代码:

DefaultTableModel dm = new DefaultTableModel();
dm.addColumn("Product ID");
dm.addColumn("Product Name");

dm.addColumn("Price");
dm.addColumn("Unit");      

DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( JLabel.CENTER );
jTable1.setDefaultRenderer(String.class, centerRenderer);                  

for(ProductBean cu:m){

        Object o[] = new Object[4];
        o[0]=cu.getProid();
        o[1]=cu.getPronm();

        o[2]=cu.getPrice();
        o[3]=cu.getUnit();

        dm.addRow(o);       
}
jTable1.setModel(dm);

1 个答案:

答案 0 :(得分:0)

因为您只将渲染器添加到String.class,但您的数据是Object(可能是数字等)

更改

jTable1.setDefaultRenderer(String.class, centerRenderer);

jTable1.setDefaultRenderer(Object.class, centerRenderer);