Как изменить локализацию заголовков столбцов пользовательской модели таблицы

#java #resourcebundle #abstracttablemodel

#java #resourcebundle #abstracttablemodel

Вопрос:

У меня есть табличная модель, которая расширяет AbstractTableModel, и я создал метод для изменения заголовка следующим образом

 public void ChangeHeader(Locale l){
        ResourceBundle r = ResourceBundle.getBundle("newpackage/Bundle", l);
        this.Column[1] = r.getString("TableModel.header1.text");
        this.Column[2] = r.getString("TableModel.header2.text");
        this.Column[3] = r.getString("TableModel.header3.text");
\      System.out.println(r.getString("TableModel.header1.text"));
    }
  

У меня есть несколько кнопок для изменения заголовка, но поскольку все они одинаковые, я показываю только одну, и вот мой метод actionPerformed в JFrame,

 private void jButtonVNActionPerformed(java.awt.event.ActionEvent evt) {                                          
        Locale l = new Locale("vi", "VN");
        ResourceBundle r = ResourceBundle.getBundle("newpackage/Bundle", l);
        tableModel.ChangeHeader(l);
        jTable1.updateUI();
    }
  

Проблема в том, что он выводит имя заголовка, но оно не меняется в таблице

Ответ №1:

nvm Я нашел решение, не нужно создавать метод в табличной модели, просто нужно getTableHeader() затем setHeaderValue() в методе actionPerformed . Тупой я