NetBeans と Java Swing でアプリケーションを開発しています。次のリンクで Binklye のブログに出くわした Google 検索後のセル内のデータの長さに合わせて、jtable の列の幅を変更したいと考えています。
http://binkley.blogspot.com/2006/01/getting-jtable-columns-widths-to-fit.html
以下はコードスニペットです
{
final TableCellRenderer renderer = getTableHeader()
.getDefaultRenderer();
for (int i = 0; i < getColumnCount(); ++i)
getColumnModel().getColumn(i).setPreferredWidth(
renderer.getTableCellRendererComponent(this,
getModel().getColumnName(i), false, false, 0, i)
.getPreferredSize().width);
}
public Component prepareRenderer(final TableCellRenderer renderer,
final int row, final int column) {
final Component prepareRenderer = super
.prepareRenderer(renderer, row, column);
final TableColumn tableColumn = getColumnModel().getColumn(column);
tableColumn.setPreferredWidth(max(
prepareRenderer.getPreferredSize().width,
tableColumn.getPreferredWidth()));
return prepareRenderer;
}
誰かにコードの実装を手伝ってもらいたいです。
一方、別のソリューションがあれば、それを見て喜んでいます。