Локализация заголовков столбцов JTable - PullRequest
0 голосов
/ 20 сентября 2010

У меня есть подкласс javax.swing.table.AbstractTableModel, который определяет заголовки столбцов таблицы следующим образом: protected String[] columnNames = new String[] { "Column1", "Column2};.Как локализовать columnNames из пакета ресурсов?Вместо этого я хочу прочитать заголовки столбцов из файла .properties, указав их в своем коде.Есть ли лучший способ сделать это?

Ответы [ 2 ]

3 голосов
/ 20 сентября 2010

Вы переопределяете getColumnName() для возврата локализованного значения имени столбца.

Например:

private ResourceBundle res = ResourceBundle.getBundle("MyResource");

@Override
public String getColumnName( int column ) {
    return res.getString(columnNames[column]);
}
0 голосов
/ 20 сентября 2010

Самый простой способ - изменить присвоение columnNames:

protected String[] columnNames = getColumnNames();
//...
private static String[] getColumnNames() {
  return ResourceBundle.getBundle("AppResources").getString("headings").split(",");
}

Где AppResources (или AppResources_en, AppResources_fr_FR и т. Д.) - это класс, который расширяет ResourceBundle и содержит ключ под названием «заголовки», который возвращает запятуюразделенный список заголовков.

...