На основе https://bosmeeuw.wordpress.com/2011/08/07/java-swing-automatically-resize-table-columns-to-their-contents/ Я создал приложение JFrame, которое отображает таблицу (jTable).
Данные заполняются автоматически из файла после вызова initComponents ().Это только приложение для отображения.
При запуске приложения отображаются столбцы с шириной по умолчанию с данными.
Когда я дважды щелкаю по любой ячейке, а затем щелкаю по любой другой ячейке,Размер столбцов изменяется должным образом.
Я хочу, чтобы приложение показывало столбец, измененный в соответствии с содержимым при запуске.
Пожалуйста, помогите.
Кодовые части из моего класса ниже:
public callA() {
setExtendedState(JFrame.MAXIMIZED_BOTH);
initComponents();
readConnectionsXML();
}
jTable декларация:
jTable_ConnectionsDetails.setAutoCreateRowSorter(true);
jTable_ConnectionsDetails.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Connection Name", "Conn Type", "Host", "Port", "Service Name", "User", "profilename", "Password", "desc"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jTable_ConnectionsDetails.setCellSelectionEnabled(true);
jTable_ConnectionsDetails.getModel().addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
ColumnsAutoSizer.sizeColumnsToFit(jTable_ConnectionsDetails);
}
});
jScrollPane_ConnectionsDataTable.setViewportView(jTable_ConnectionsDetails);