【问题标题】:Java command line exit command?Java命令行退出命令?
【发布时间】:2013-03-15 16:04:14
【问题描述】:

我正在制作一个服务器,它位于基于文本的 Raspberry Pi 上。基本上,一切都是从命令行运行的,所以当服务器运行时,没有图形,它使用System.out.println(); 将所有内容打印出来。所以我的问题是,我没有一个运行shutdown() 方法的按钮,我怎样才能在任何时候做到这一点,我可以按下“e”,程序将运行@987654323 @ 方法?我已经进行了一些搜索,但不确定如何表达这个问题。我正在考虑添加keylistener,但我不确定是否可以将其添加到任何图形中?无论如何,任何帮助将不胜感激!!!提前致谢

【问题讨论】:

  • 你的意思是像 Tomcat 的启动和停止命令吗?
  • 老实说,我不确定 tomcat 是什么,但更像是,我创建了一个名为 shutdown() 的方法来运行所有内容。我只需要按一下键即可将其关闭,但我不知道如何....
  • @PaulVargas 而不是扫描仪检测在 cmd 行中输入的“退出”
  • 你能展示最小的程序来处理你想要的命令,并尝试捕捉“关机”键击吗?添加一些代码比从头开始回答这个问题更容易......
  • 你可以运行一个计时器来检查一个简单的 if 语句?

标签: java command-line terminal keylistener shutdown


【解决方案1】:

如果您不希望有一个可见的 gui,您可以使用侦听器创建一个“始终聚焦的不可见图形界面”。

【讨论】:

    【解决方案2】:

    要注册键盘事件,您首先需要关注您的程序,为此您需要一个 gui。我建议:

    1.- Create a JLabel(and a scrollbar).
    
    2.- Instead of using System.out.print("text");, use myJLabel.append("text" + "/n");. 
    
    3.- Add a keyboard listener. Register key events so that the x key closes your server, the s key stops it, ...
    

    正如您描述的应用程序,您不能将输入写入服务器,您只能从中读取输出。我推荐第 4 步。

    4.-Add a JTextFiel to send input to the server.
    
    5.-To make it user-friendly , you could use a JEditorPane instead of a JLabel, and add HTML to your output.
    

    【讨论】:

      【解决方案3】:

      好的,所以根据 cmets(我赞成顺便说一句),我创建了一个线程,不断使用 scanner 来查看我是否输入了“exit”。感谢大家的帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-05
        • 2017-06-04
        • 2021-08-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-14
        • 2011-03-24
        • 2011-02-04
        相关资源
        最近更新 更多