多行表头

时间:2015-07-15 04:13:39

标签: java jtable tablecellrenderer

如果我的表格标题包含多个单词,我怎么能这样做才能在多行上呈现?

这是我到目前为止所做的:

public class MultiLineHeaderRenderer extends JList implements TableCellRenderer
{

    @Override
    public Component getTableCellRendererComponent(
            JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    {
        setFont(table.getFont());
        String str = (value == null) ? "" : value.toString();
        BufferedReader br = new BufferedReader(new StringReader(str));
        String line = "";
        int character;
        Vector v = new Vector();
        try 
        {
            character = br.read();
            while (character != -1) 
            {
                System.out.println("character = " + (char) character);
                System.out.println("character = " + character);
                line = line + String.valueOf((char) character);
                if((char) character == ' ')
                {
                    System.out.println("hello");
                    v.addElement(line);
                    line = "";
                }
                character = br.read();
            }
            v.addElement(line);
        }
        } catch (IOException ex) {
          ex.printStackTrace();
        }
        setListData(v);
        return this;
    }
}

然而,这根本没有显示任何内容。

如果不是try块,我会这样做:

        v.addElement("line1");
        v.addElement("line2");

它按预期显示两行(虽然它很难看,它只有一个白色背景,没有分隔列的行,没有居中对齐等)。

我做错了什么?如何实现多行表标题?

编辑:我已经更新了试用版块,它现在只给我第一个字而不是别的。

0 个答案:

没有答案
相关问题