【发布时间】:2013-08-06 01:39:30
【问题描述】:
您好,我想在 DefaultTableModel 中显示新行,但我不知道为什么表格不显示输入。 如何启用输入?如果我有一个字符串“stss\nsdd”,它会显示“stsssdd”,但我想要换行。
public class Main extends JFrame {
DefaultTableModel model = new DefaultTableModel(
new Object[][]{{"some", "text"}, {"any", "text"},
{"even", "more"}, {"text", "str\nings"},
{"and", "other"}, {"text", "values"}}, new Object[]{
"Column 1", "Column 2"});
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTable table = new JTable(model);
table.setRowHeight(40);
getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
pack();
}
public static void main(String arg[]) {
new Main().setVisible(true);
}
}
【问题讨论】:
-
如果您需要添加新行,请查看此处stackoverflow.com/questions/3549206/how-to-add-row-in-jtable
-
不是新行。单元格中的新行
-
@Luffy 这是因为
DefaultTableCellRenderer扩展了JLabel不处理\n。可以尝试定义自己的渲染器吗:) -
还有其他的 Table 模型可以处理新行吗?
标签: java swing jtable tablecellrenderer tablecelleditor