在学习java的过程中想实现一个功能,需要用到清屏功能,但是IDEA跟控制台不一样,控制台可以用cls清屏,IDEA用不了,在csdn找解决方法时找到了这个博客 ↓
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
public class clearConsole {
public static void main(String[] args) throws AWTException {
System.out.println("yfqgiwuood"); //瞎打的
System.out.println("yfqgiwuood");
System.out.println("yfqgiwuood");
clearConsole();
}
public static void clear() throws AWTException {
Robot r = new Robot();
r.mouseMove(x,y); //鼠标移动到工具栏
r.mousePress(InputEvent.BUTTON1_MASK); //按下鼠标左键
r.mouseRelease(InputEvent.BUTTON1_MASK); //释放鼠标左键
r.keyPress(KeyEvent.VK_CONTROL); // 按下Ctrl键,快捷键需要自己设置,文末有图文指引
r.keyPress(KeyEvent.VK_Q); // 按下Q键
r.keyRelease(KeyEvent.VK_Q); // 释放Q键
r.keyRelease(KeyEvent.VK_CONTROL); // 释放Ctrl键
r.delay(100);
}
}
原文中提到了两种方法:
1,直接执行ctrl+r,我试过之后发现不能用,原因是鼠标光标只有在输出框内才能使用清屏的快捷键。
2,移动鼠标到垃圾桶图标上点击,这个方法如果在使用的时候移动了鼠标有概率失效。
我的方法是将鼠标移动到输出栏,输出栏比垃圾桶图标大很多,大大减少了移动鼠标引起失效的问题,然后通过点击将光标移过去,然后执行清屏快捷键。
r.mouseMove(x,y)中x和y要改到你输出栏的实际位置,左上角是(0,0)坐标,我的电脑分辨率是1960*1080的,右下角坐标就是(1960,1080),其次在输出栏上面右键弹出菜单可以把输出栏移动到其他位置。
附:
一,修改快捷键
文件->设置->按键映射,搜索栏搜"全部清除",英文版搜"Clear all"