UTF-8 в JTable - PullRequest
       7

UTF-8 в JTable

3 голосов
/ 23 декабря 2010

Как я могу добавить строки UTF-8 в JTable?Строки в диапазоне ASCII выглядят нормально, но символы с акцентами не отображаются должным образом.

Ответы [ 2 ]

2 голосов
/ 23 декабря 2010

Я читал в строках, не задавая читателю кодировку UTF-8. После изменения

BufferedReader br = new BufferedReader(new InputStreamReader(di));

до

BufferedReader br = new BufferedReader(new InputStreamReader(di, "UTF-8"));

текст появился правильно.

1 голос
/ 23 декабря 2010

alt text

Выше находится строка в JTable (скриншот) с намеренно вставленными в нее символами нормального акцента.JTable является обычной таблицей без каких-либо специальных модификаций для размещения или принятия специальных символов.

Символы ударения, как определено в: http://tlt.its.psu.edu/suggestions/international/accents/codealt.html

Исходный код:

JTable table = new javax.swing.JTable();
DefaultTableModel model = null;

public void initTableModel() {
    model = new DefaultTableModel();
    table.setModel(model);
    model.addColumn("col1");
    model.addColumn("col2");
    ListSelectionModel selectionModel = table.getSelectionModel();
    selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    ListSelectionModel rowSM = table.getSelectionModel();
    table.removeAll();
    table.getColumnModel().getColumn((model.getColumnCount() - 1)).setPreferredWidth(200); 
}

public void initTableData() {
    int numrows = model.getRowCount();
    for (int i = numrows - 1; i >= 0; i--) {
        model.removeRow(i);
    }

    String[] row = new String[3];
    if (pass != null) {
            row[0] = "Lü Dongbin呂洞賓Lán Cǎihé";
            row[1] = "《全唐詩》ó, ò, ñ";
            model.addRow(row);
    }
    validate();
    repaint();
}

Весь исходный код Java: http://ahb.me/1exq (более точный и проверенный)

Это коды, которые вы хотели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...