より多くのコンテンツを読み取ることができるように、セルがワード ラップを行うためのカスタム セル レンダラーがあります。コードは次のとおりです。
import java.awt.Color;
import java.awt.Component;
import java.awt.Insets;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.table.TableCellRenderer;
public class TextWrapCellRenderer extends JTextArea implements TableCellRenderer {
private static final long serialVersionUID = 1L;
public TextWrapCellRenderer() {
setLineWrap(true);
setWrapStyleWord(true);
setMargin(new Insets(0, 5, 0, 5));
setSelectionColor(Color.GREEN);
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setText((String)value);
setSize(table.getColumnModel().getColumn(column).getWidth(),getPreferredSize().height);
setSelectionColor(Color.GREEN);
return this;
}
}
更新: セル レンダラーは適切に使用されますが、ユーザーが JTable 内の行を選択すると、非カスタム レンダリング セルの強調表示のみが表示されます。ただし、その行の他のすべてのセルに対して強調表示が表示されます。これにより、背景が白いセルが1つだけ残り、行の残りの部分は強調表示された背景色として青(私の場合)になります。