以编程方式显示命令提示符/终端输出

时间:2012-04-18 18:55:40

标签: java terminal command-prompt

我不知道如何搜索这个。我有一个挥杆应用程序。我想允许用户打开命令提示符,并在他们浏览应用程序时看到输出(System.out.println("MY_OUTPUT");)。但是,在大多数情况下,这不是必需的,因此它是启动应用程序后可以启用的选项。有没有办法做到这一点?基本上,我正在寻找一些方法来随时打开命令提示符或与我的程序相关的终端。谢谢你的帮助。

注1:这与接收用户输入无关,而是关于输出给用户。

注意2:我意识到我可以(也许应该)在带有文本区域的单独的挥杆窗口中执行此操作,但我拥有的所有内容都将转到System.out.println();,我想在未来的项目中使用同样的东西我想,所以我真的希望能够使用命令提示符来做到这一点。此外,这是我的问题。谢谢:D

3 个答案:

答案 0 :(得分:1)

老实说,我觉得在GUI环境中通过命令行接受来自用户的输入而不是某些对话框(我的意思是你显示一个GUI)很奇怪但是你可以使用Runtime来执行命令提示。看这里cmd using java

答案 1 :(得分:1)

我认为只需使用System.println()语句就可以在您的应用中使用简单的日志记录策略来实现此要求。您应该在某种记录器模式类中包装System.println()方法调用。您可以使用Log方法创建Logger接口。 ConsoleLogger impl只会写入控制台,对测试/调试很有用。

然后,对于您的真实用户,您有几个选项。如果想要查看应用程序的输出,可以使用FileLogger并使它们读取日志文件。或者您可以创建一些记录到某个GUI窗口的CustomTextWindowLogger,或者可能仍然是GUI窗口可以显示数据的文件。

无论哪种方式,我都没有看到应用程序将System.println()语句重定向到图形组件,因为它只是将数据发送到标准输出流。沿着这些思路,我猜你也可以尝试将System.out输出流更改为GUI窗口可以显示的不同流。这将更容易快速实施,但更难以改变。使用Logger界面,您可以轻松改变主意,了解如何将输出提供给用户。

答案 2 :(得分:0)

为什么不弹出一个文本区/区域(或Swing中的任何内容),并在那里写消息?