如何在 Java 中的文本中添加新行?

How to add a new line to text in Java?

我正在 Java 中为我的 A2 Computing 课程创建一个跳棋游戏,我最近在研究棋盘的 GUI,我希望将其添加到菜单栏中,我已经能够如在我的代码中可以看到的那样实现这一点,但是对于其中一个称为规则的菜单项,我希望在文本中添加一些基本规则,这发生在行中:
JMenuItem RulesText = new JMenuItem("")

这里面我要输入的是规则的文字,我输入了一些已经可以看到了。

我的问题是,它们都在一条线上,所以当我 运行 应用程序时,它显示为 "Moves are always only diagonal. Single pieces are always limited to forward moves (toward the opponent). Kings are limited to moving diagonally, but may move both forward and backward"。问题是这不是我希望它出现的格式,我希望它以类似于此的格式出现

那么我怎样才能做到这一点,我试图研究这个我在我的格式中找不到任何东西,因为我宁愿不必更改大部分代码。任何答案将不胜感激。谢谢你。 我的代码可以在下面看到:

    JMenuBar bar = new JMenuBar();
    JMenu fileMenu = new JMenu("File");
    JMenu HelpMenu = new JMenu("Help");
    JMenuItem Exit = new JMenuItem("Exit");
    JMenuItem MainMenu = new JMenuItem("Main Menu");
    JMenu Rules = new JMenu("Rules of Checkers");
    JMenuItem RulesText = new JMenuItem("- Moves are always only diagonal \n Single pieces are always limited to forward moves (toward the opponent) \n Kings are limited to moving diagonally, but may move both forward and backward");
    Rules.add(RulesText);
    HelpMenu.add(Rules);
    bar.add(HelpMenu);
    fileMenu.add(MainMenu);
    fileMenu.addSeparator();
    fileMenu.add(Exit);
    HelpMenu.add(Rules);
    bar.add(fileMenu);
    bar.add(HelpMenu);
    window.setJMenuBar(bar);

这看起来不太可能,并且是使用 Swing 开发应用程序的限制之一。 constructors 的 None 或 JMenuItem 的行为似乎允许字符串格式化。

此外,将整个 JMenuItem 设置为显示如此大的文本块既不明智也不友好。
您应该考虑使用 JDialog 框或类似的东西来调出一个可以显示格式化规则的屏幕。

尝试将文本包裹在 html 标签中,然后在需要换行的地方放置一个 <BR> 标签。

不过,我同意@rageandqq 的观点,你应该考虑将规则放在 JDialog 或类似的地方