Я создаю таблицу, в которой пользователь может изменять заголовки, добавлять столбцы и т. Д. В соответствии со своей волей, но проблема возникает, когда пользователь добавляет новый столбец в таблицу.Недавно отредактированный столбец заканчивается до конца, и в его заголовке отображается текст, такой как "Ljava.lang.String: @ ...", где "..." = некоторые буквы и цифры.
public class StudentsStats {
static JFrame frame = new JFrame("StudentsStats");
static String data[][] = {};
static String row[] = {"Sr.No","Adm.No","Name", "","","","","","","","",""};
static DefaultTableModel model = new DefaultTableModel(data, row);
static JTable table = new JTable(model);
static TableColumn tabCol;
public static void tableView(){
JScrollPane pane = new JScrollPane(table);
JTableHeader header = table.getTableHeader();
TableColumnModel colModel = header.getColumnModel();
header.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if(e.getClickCount() == 2){
int col = colModel.getColumnIndexAtX(e.getX());
tabCol = colModel.getColumn(col);
String str = JOptionPane.showInputDialog("Enter a name for this column.");
tabCol.setHeaderValue(str);
header.repaint();
}
}
});
frame.add(pane);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void addcolumn(){
String col[] = {};
model.addColumn(col);
}