Java JTable单元格文字实现自动换行
什么都不说,直接看代码,很简单的,相信大家看得懂
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
class RowChange extends JFrame {
public RowChange() {
JTabletbl = new JTable(new String[][]{{
"JTable里单元格内容的显示器是TableCellRenderer。",
"默认的显示器(DefaultTableCellRenderer)继承JLabel所以不方便多行显示。",
"要多行显示应该继承JTextArea(参看下面的TableCellTextAreaRenderer类)。",
"当然,别忘了调用JTable.setDefaultRenderer() 登记你的显示器。"}},
"A B C D".split(" "));
tbl.setDefaultRenderer(Object.class, new TableCellTextAreaRenderer());
add(new JScrollPane(tbl));
setSize(800, 200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) { new RowChange(); }
}
class TableCellTextAreaRenderer extends JTextArea implements TableCellRenderer {
public TableCellTextAreaRenderer() {
setLineWrap(true);
setWrapStyleWord(true);
}