Как обновить Jtable с помощью радиокнопки? - PullRequest
0 голосов
/ 28 апреля 2020

в принципе, у меня пустая 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);
...