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