我在 Java 方面没有太多经验,但我正在尝试编写一个简单的 rogue-like 游戏来熟悉它,我只是想知道我将如何创建这样的界面:
有没有什么明显的方法可以解决这样的问题?作为 Java 的新手,我真的不知道最好的方法是什么。
抱歉含糊不清!
谢谢
最佳答案
JDK 中没有这样的(简单的)组件 - 如果您不需要颜色,可以使用 JTextArea 来显示 ASCII-Art(在设置固定宽度的字体之后)。您需要注意不要遇到字符集问题(如果您不坚持使用 US-ASCII 7 位)。 编写一个处理彩色显示的组件(可能还有转义序列,本质上是模拟控制台窗口)不会太难,但如果您刚开始使用 Java,它可能会被证明是一个不受欢迎的挑战。
您也可以只用 Java 编写您的游戏,而将 ASCII 码显示到系统控制台(您的游戏将简单地输出到标准输出)。
编辑:可以通过将您的内部格式转换为(简单的)HTML 来实现彩色 ASCII,并且可以使用 JLabel 显示该 HTML。它可能不是最优雅的方法,但实现起来应该相当简单(而且现在的硬件速度也不应该成为这种方法的问题)。这种方法建立在您可以只使用 JLabel.setText() 并传递以 HTML 标记开头的字符串的功能之上。然后 JLabel 将整个文本解释为 HTML。
关于java - 使用 Java 在带有面板的网格中显示 ASCII 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11259904/