Eclipse控制台实现清屏的方法

【Java】Eclipse控制台清屏方法

最近在跟着教学课程学习Java语言,老师之前是做职业程序猿的。

最近布置了一个简单的课后作业,就是在控制台去模仿ATM机的界面,并实现一些基本的业务逻辑。

在控制台用System.out.println();去模仿图形界面,肯定要涉及到控制台的清屏吧,老师也有提到。本以为Java有直接清屏的方法可以调用的,结果查了下然后很郁闷,Java并没有控制台清屏的方法去调用。网上搜到的一些解决方案针对的是Windows操作系统的cmd控制台的,对于我所使用的Eclipse开发环境的控制台是无效的。

然后发现了Eclipse控制台手动清屏的方法,就是在控制台界面鼠标右击,右键菜单有一个 清除 的选项,如下图:

这里写图片描述

并且这个功能对应了一个快捷键,Ctrl + R,但是只有在右键菜单显示的情况下按下这个快捷键才有效。

于是,问题的入手点就在这个快捷键,能否让代码帮我们在控制台界面自动打开右键菜单并按下Ctrl + R,从而实现控制台清屏。

答案自然是肯定的,Java提供了一个用来产生本机输入事件的机器人类 :java.awt.Robot,这个类有一系列关于鼠标键盘的方法可以来调用。查了下这个类的一些方法,最终实现了上面所说的功能。来看代码:

public static void clear() throws AWTException
    {
        Robot r = new Robot();
        r.mousePress(InputEvent.BUTTON3_MASK);       // 按下鼠标右键
        r.mouseRelease(InputEvent.BUTTON3_MASK);    // 释放鼠标右键
        r.keyPress(KeyEvent.VK_CONTROL);             // 按下Ctrl键
        r.keyPress(KeyEvent.VK_R);                    // 按下R键
        r.keyRelease(KeyEvent.VK_R);                  // 释放R键
        r.keyRelease(KeyEvent.VK_CONTROL);            // 释放Ctrl键
        r.delay(100);       

    }

相关方法的功能已经在注释中给出了,所以只要在程序的适当位置去调用便可实现清屏功能。


如需转载请注明来源。

  • 40
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值