我是一个巨大的新手,我有一个程序,通常打印项目到Java控制台窗口。我希望这个程序成为用户可以与之交互的窗口。我没有使用对话框和面板的原因是因为该程序需要多次打印到控制台窗口。传统的对话框不会持续更新或复合已打印在盒子上的数据。我意识到还有另一种方法可以通过创建一个模仿Java控制台窗口的程序来实现这一点。因为我是一个菜鸟,所以这个站点上的所有java控制台重定向问题和答案都让我大吃一惊。有人可以帮帮我吗?
答案 0 :(得分:2)
请参阅可能How to Use Editor Panes and Text Panes会有所帮助,并为您提供一些想法。
答案 1 :(得分:1)
简短的回答是,每次要更新文本框的内容时,再次调用setText函数。内容上没有“附加”功能:您必须每次都提供全部内容。如果你想要一些模仿控制台窗口的东西,其中消息继续滚动,最简单的方法是将整个内容保存在StringBuilder中。每次你将新文本附加到StringBuilder,然后setText(myStringBuilder.toString)。
我想,你可以写mybox.setText(mybox.getText()+“new contents”)。这可能会有点低效,但可能不是什么大问题。
我不知道你到底在做什么,但是试图将控制台输出重定向到文本框听起来更值得怀疑。只需将您的数据放在文本框中:不要在其他地方写入,然后尝试将其恢复并将其放在您想要的位置。我想如果你有数千行代码写入控制台,现在你想让它成为一个文本框,那么不必更改所有代码就有价值。但是控制台应用程序的结构与GUI应用程序的结构有很大的不同,更改输出语句可能是您必须重做的最少的事情。