0
点赞
收藏
分享

微信扫一扫

Jtable自动适应列宽

静鸡鸡的JC 2023-01-17 阅读 73


不要自卑,去提升实力
互联网行业谁技术牛谁是爹
如果文章可以带给你能量,那是最好的事!请相信自己
加油o~

文章目录

  • ​​一、Java对Jtable自动适应列宽​​
  • ​​二、使用步骤​​
  • ​​1.引入库​​

一、Java对Jtable自动适应列宽

示例:正常情况下,Jtable默认为各列等宽,可以利用下面的方法进行设置各列数据自适应宽度

tableModel=new DefaultTableModel();
tableModel.setDataVector(data,title);
table = new JTable(tableModel);
FitTableColumns(table);

二、使用步骤

1.引入库

代码如下(示例):

public void FitTableColumns(JTable myTable) {               //設置table的列寬隨內容調整

JTableHeader header = myTable.getTableHeader();

int rowCount = myTable.getRowCount();

Enumeration columns = myTable.getColumnModel().getColumns();

while (columns.hasMoreElements()) {
TableColumn column = (TableColumn) columns.nextElement();

int col = header.getColumnModel().getColumnIndex(

column.getIdentifier());

int width = (int) myTable.getTableHeader().getDefaultRenderer()

.getTableCellRendererComponent(myTable,

column.getIdentifier(), false, false, -1, col)

.getPreferredSize().getWidth();

for (int row = 0; row < rowCount; row++){
int preferedWidth = (int) myTable.getCellRenderer(row, col)

.getTableCellRendererComponent(myTable,

myTable.getValueAt(row, col), false, false,

row, col).getPreferredSize().getWidth();

width = Math.max(width, preferedWidth);

}

header.setResizingColumn(column);

column.setWidth(width + myTable.getIntercellSpacing().width);

}

}


举报

相关推荐

0 条评论