使用Java在带有面板的网格中显示ASCII的最佳方式是什么?

使用Java在带有面板的网格中显示ASCII的最佳方式是什么?,java,roguelike,Java,Roguelike,我在Java方面没有太多经验,但我正在尝试编写一个简单的类似rogue的游戏来熟悉它,我只是想知道如何创建这样的界面: 有没有什么明显的方法可以让你做这样的事情?作为Java新手,我真的不知道最好的方法是什么 抱歉说得含糊不清 感谢您,JDK中没有这种(简单的)组件-如果您不需要颜色,可以使用JTextArea来显示ASCII艺术(在设置固定宽度字体后)。您需要注意不要遇到字符集问题(如果您不坚持使用US-ASCII 7位)。 编写一个处理彩色显示(可能还有转义序列,本质上是模拟控制台窗口)的

我在Java方面没有太多经验,但我正在尝试编写一个简单的类似rogue的游戏来熟悉它,我只是想知道如何创建这样的界面:

有没有什么明显的方法可以让你做这样的事情?作为Java新手,我真的不知道最好的方法是什么

抱歉说得含糊不清

感谢您,JDK中没有这种(简单的)组件-如果您不需要颜色,可以使用JTextArea来显示ASCII艺术(在设置固定宽度字体后)。您需要注意不要遇到字符集问题(如果您不坚持使用US-ASCII 7位)。 编写一个处理彩色显示(可能还有转义序列,本质上是模拟控制台窗口)的组件不会太难,但如果您刚开始使用Java,这可能是一个不受欢迎的挑战

您也可以用Java编写游戏,并将ASCII显示在系统控制台上(您的游戏将简单地输出到stdout)


编辑:可以通过将内部格式转换为(简单)HTML来更改颜色ASCII,并且可以使用JLabel显示HTML。它可能不是最优雅的方法,但它的实现应该相当简单(在当今的情况下,硬件速度也不应该是这种方法的问题)。这种方法建立在只需使用JLabel.setText()并传递以HTML标记开头的字符串的功能之上。JLabel然后将整个文本解释为HTML。

查看Trystan的、他的博客以及关于制作roguelike的教程。

编写一个Swing GUI应用程序,而不是文本模式的应用程序。事实证明,这将更加容易,结果也更加漂亮。Java使用的是Unicode,而不是ASCII。小心点。谢谢,我现在正在看秋千。是否有任何Swing窗口编辑器可用于Eclipse?我发现所有的都是ancientI,我会覆盖JPanel并在其上绘制位图。一个位图用于背景,另一个位图用于带有字符的前景。它又快又简单!我想说的是(在阅读了前两段之后),我能不能不使用单间距字体,用HTML格式化并将其放入JLabel中。。我想避免的一件事是重新绘制闪烁,我以前在一个控件中显示所有内容时遇到过这个问题,只是以前从未尝试在Java中这样做。我会修修补补,看看能想出什么办法。谢谢