如果我的表格标题包含多个单词,我怎么能这样做才能在多行上呈现?
这是我到目前为止所做的:
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");
它按预期显示两行(虽然它很难看,它只有一个白色背景,没有分隔列的行,没有居中对齐等)。
我做错了什么?如何实现多行表标题?
编辑:我已经更新了试用版块,它现在只给我第一个字而不是别的。