Java:将控制台输出导出到另一个类

时间:2016-04-08 09:27:16

标签: java user-interface

我是一名Java新手,最近刚刚制作了一款使用该控制台输出的Big Two游戏(一款纸牌游戏)。但是我现在需要创建一个包含JTextArea的GUI的另一个类,我应该将整个控制台输出基本上传输到JTextArea。我在谷歌上做了很多搜索,但大多数人似乎都是在同一个类中实现GUI。所以我的问题是,我该如何运输呢?

2 个答案:

答案 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