换行符 (\n) 无法使用 JTable 的 AbstractTableModel

Newline (\n) is not working by using AbstractTableModel for JTable

我需要在一个 table 列中包含多行。我在 String 之间给出了 \r\n。但是新线不会来。我试过 \nSystem.lineSeparator()line.separator。什么都不起作用。

我的输出应该在每个单元格中允许多行。

我的代码如下:

import java.awt.BorderLayout;
import java.awt.Container;
import java.util.Calendar;
import java.util.GregorianCalendar;

import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;

class AppSwing extends AbstractTableModel {



  public Object[][] values = {
      { "C\r\n\r\nAfterNewLine", "A\r\n\r\n" },
     };

  public int getRowCount() {
    return values.length;
  }

  public int getColumnCount() {
    return values[0].length;
  }

  public Object getValueAt(int row, int column) {
    return values[row][column];
  }
} 

主要class

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JTable;

class App extends JFrame {

protected JTable table;

  public static void main(String[] args) {
    App stt = new App();
    stt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    stt.setSize(400, 200);
    stt.setVisible(true);
  }

  public App() {
    Container pane = getContentPane();
    pane.setLayout(new BorderLayout());
    AppSwing tv = new AppSwing();
    table = new JTable(tv);
    pane.add(table, BorderLayout.CENTER);
  }

}

结果--

CAfterNewLine A

按以下示例尝试字符串连接器。

 String[] data = rowData.get(rowIndex);
                    StringJoiner joiner = new StringJoiner("<br>", "<html>", "</html>");
                    for (String text : data) {
                        joiner.add(text);
                    }
                    value = joiner.toString();