当我向表中添加新列但其标题标签包含的行数(使用html
和br
元素)比已经存在的标题中的行更多时应该调用/触发的内容因此标题将调整大小相应?
添加之前
添加后
如果第一次绘制表时列没有该行数(当标签为<html>Card<br>name</html>
时),则不会发生这种情况。
我添加新记录时fireTableStructureChanged()
TableModel
,因此添加了新列。
答案 0 :(得分:2)
从@ mKorbel的example开始,以下按钮会改变外观,如图所示。 setColumnIdentifiers()
的方法DefaultTableModel
代表您调用fireTableStructureChanged()
。如果您延长AbstractTableModel
,则应在TableModel
。
代码:
private DefaultTableModel model = new DefaultTableModel(data, columnNames) {…}
…
frame.add(new JToggleButton(new AbstractAction("Toggle") {
@Override
public void actionPerformed(ActionEvent e) {
JToggleButton b = (JToggleButton) e.getSource();
if (b.isSelected()) {
columnNames[0] = "<html>String<br>of pearls</html>";
} else {
columnNames[0] = "String";
}
model.setColumnIdentifiers(columnNames);
}
}), BorderLayout.SOUTH);