【问题标题】:text base programs in javajava中的文本库程序
【发布时间】:2014-04-28 06:59:35
【问题描述】:

我想在 java 中创建一个终端应用程序,但我不知道如何替换已经打印的文本行(类似于“编辑已经打印的行”)。 \r 只返回最后一行的开头,我想显示一个二维网格。 这是我要打印的样本:

System.out.println("################");
System.out.println("#--------------#");
System.out.println("#--------------#");
System.out.println("################");


System.out.println("\r################");
System.out.println("#-------X------#");
System.out.println("#--------------#");
System.out.println("################");

【问题讨论】:

  • 你试过用\b...alot...
  • 您可以清除屏幕,或使用终端转义序列来移动光标。另请查看curses

标签: java text-based


【解决方案1】:

你应该试试 JLine 库。它为命令行应用程序提供了许多有用的功能。 http://jline.sourceforge.net/javadoc/

【讨论】:

    【解决方案2】:

    使用System.out.println 打印到控制台的任何文本都已刷新并且无法编辑。您可以做的是清除控制台并使用新设置的 Sys Outs 重新打印。但是对于图形应用程序,我建议您查看JAVA AWT,它将为您提供paint() and repaint() 等功能以及其他丰富的UI 功能。

    清除控制台可以参考:clear console

    对于 JAVA AWT:AWT tutorial

    【讨论】:

    • 我知道要使用awt,刚开始使用linux时,我在终端中受到了喜爱。
    • 然后您可以编写自己的重绘方法,清除控制台并重新打印更新的输出。
    • 我查看了其他stackoverflow问题,发现:runtime.getRuntime().exec("cls");这应该清除终端。
    • 它依赖于操作系统。它肯定适用于 Windows。您也可以按照@faisalbhagat 的建议查看 JLine 库。它有 clearconsole 等方法。
    猜你喜欢
    • 1970-01-01
    • 2014-03-25
    • 2023-03-30
    • 1970-01-01
    • 2012-02-21
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    相关资源
    最近更新 更多