в принципе, у меня пустая JTable в начале; но у меня есть переключатель над ним, который является кнопкой «показать пользователей», когда эта кнопка нажата, она переходит к слушателю действия, в этом слушателе действия я получаю строку имени пользователя с сервера. используя эту строку имен пользователей, я хочу обновить только один столбец JTable, а затем обновить sh фрейм, чтобы он загрузился. Но в настоящее время я застрял при обновлении фрейма, я попытался создать модель таблицы и использовать fireTableDataChanged () но это не работает
это мой код в слушателе действий:
Object input = client.recieveMsg(); //recieves the string of names from the server
DefaultTableModel tableModel = (DefaultTableModel) frame.Users.getModel();
List<String> items = Arrays.asList(input.toString().split("\\s*,\\s*"));
for(int i = 0; i < items.size(); i++){
String[] names = new String[2];
names[0] = items.get(i);
names[1] = " "; //makes the second value a blank space because i only want to fill in one colume
tableModel.addRow(names);
}
frame.Users.setModel(tableModel);
tableModel.fireTableDataChanged();
обратите внимание, я устанавливаю jtable в контейнере, в другом классе. когда я настраиваю jtable, это выглядит так:
JTable Users = new JTable();
JScrollPane scrollPane = new JScrollPane(Users);