我是一名Java新手,最近刚刚制作了一款使用该控制台输出的Big Two游戏(一款纸牌游戏)。但是我现在需要创建一个包含JTextArea的GUI的另一个类,我应该将整个控制台输出基本上传输到JTextArea。我在谷歌上做了很多搜索,但大多数人似乎都是在同一个类中实现GUI。所以我的问题是,我该如何运输呢?
答案 0 :(得分:1)
根据我的经验,最好的方法是使用设计模式Model View Controller。
在那里,您有3个组件(通常是每个组件):
模型是您程序中的逻辑,即“思考”部分,它不会显示任何内容或被用户触及。
查看是用户界面,用户可以看到程序的输出,以及他介绍输入的位置。
控制器连接两者。想象它是一个有两个对象的类:对象视图和对象模型,它将数据从一个传递给另一个。
如果你有时间,你应该研究一下,但如果你没有,那么快速的方法是:
您必须修改程序的方法,以便返回值而不是将它们打印到控制台。执行此操作后,从控制器类中执行此操作,然后使用 setText()将值放在TextArea上。
答案 1 :(得分:0)
我希望我做对了 - 在创建GUI库之后,您只需创建一个JTextArea,将其添加到您的GUI。并在需要时附加输出。我会做这样的事情
public JTextArea output;
public void initializeOutput() {
output = new JTextArea(5, 20);
JScrollPane scrollPane = new JScrollPane(output);
output.setEditable(false);
//add JTextArea to your GUI.
}
public void addToOutput(String textToAdd) {
output.append("\n" + textToAdd);
}
可以找到有关JTextArea的更多信息in docs