Java实现清屏功能
一、cmd命令行下实现清贫
1、编写一个类ClearScreen.java,代码如下:
public class ClearScreen{
//实现清屏方法的接口
public native static void clearScreen();
//加载dll文件
{
System.loadLibrary("Clear");//Clear 生成dll的文件名
}
}
2、编译ClearScreen类
命令行环境下执行 javac ClearScreen.java -> ClearScreen.class
3、生成一个C的头文件,java里面提供一个工具javah
命令行环境下执行 javah ClearScreen -> ClearScreen.h
4、编写ClearScreen.cpp(c文件)实现native方法clearScreen(),代码如下:
#include <jni.h>
#include "ClearScreen.h"
#include <stdlib.h>
//这里两个ClearScreen 对应·······1步骤里的java类名和方法名
JNIEXPORT void JNICALL Java_ClearScreen_clearScreen(JNIEnv *, jclass){
system("cls");
}
5、安装一个microsoft compiler 编译ClearScreen.cpp,得到Clear.dll //我这里用到的是Microsoft Visual Studio
注意:将Jdk安装环境include目录下的jawt_md.h jni_md.h jni.h三个头文件copy到 Microsoft Visual Studio的 include目录下
6、调用
注意:将生成的dll文件与ClearScreen类放在同一文件夹
(new ClearScreen()).clearScreen();
二、Eclipse IDE控制台下实现清屏
在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); }
于是,在该要清屏的时候调用该clear()函数即可!
版权声明:本文为博主原创文章,未经博主允许不得转载。
Java实现清屏功能相关推荐
- java调用cmd清屏_Java | 使用JNA在Java中实现cls(cmd清屏)功能
前言 本文将通过示例代码讲解如何在Java中通过使用JNA来调用cls命令行清屏功能,代码已同步到GitHub,此外本文不是专门讲解JNA的使用的,如需学习可到GitHub查看官网示例,下面我就开始通 ...
- java jni清屏_java使用jni清屏(只针对cmd)
在java中没有提供清屏的接口,所有可以通过jni调用c语言的system("cls")清屏.当然,仅限于cmd清屏,不支持eclipse的控制台console清屏. 步骤: 1. ...
- python如何设置清屏功能_Python的IDEL增加清屏功能实例
为idle增加一个清屏的扩展ClearWindow就可以了(在http://bugs.python.org/issue6143中可以看到这个扩展的说明). 下面我说安装使用的方法.首先下载clearw ...
- c语言菜单怎么清空,你好,请教个C语言菜单实现清屏功能。就是用switch里面输入一个数子,就实现部分清屏或者全清屏...
在标准的C语言中,没有所谓的清屏函数的,特别是部分清屏 C语言它只是一个标准,只有标准的输入/输出函数 而你要的菜单/清屏功能,必须调用系统的函数才能实现(不同系统用户界面设计方式是不同的) 如在wi ...
- java break 在if 中使用_Java | 使用JNA在Java中实现cls(cmd清屏)功能
作者:庄周de蝴蝶 出自:掘金 原文:juejin.im/post/6876454367332368392 编写 dll文件 由于本文不是专门讲解如何编写dll文件的,而且我也不是一个专业的C家族语言 ...
- java网络程序设计 聊天室之私聊、群聊和清屏功能的实现
TCP聊天室实现了私聊.群聊和清屏的功能,简陋的UI界面,一个服务器端,支持多个客户端之间的通信. 项目代码:https://pan.baidu.com/s/17iegRam4KnWvcWHw3mvp ...
- java console清屏_JAVA 控制台清屏 | 学步园
看到网上有人讨论Java如何实现对控制台清屏,看到的内容不是很理想.所以把这些内容总结一下. 直观一点,先看下代码吧 import static java.lang.System.out; /** * ...
- Python tkinter库:简易画板(笔、直线、矩形、圆形和橡皮擦工具+导入、保存、撤销、清屏功能)
Tkinter Tkinter是Python的一款功能强大且全面.操作简易的GUI编程模块.今天,我们将使用tkinter制作一款简易画图软件.加油吧! 最终效果如下: 下载模块 我们将使用Pytho ...
- Python IDLE 如何设置清屏功能(清屏快捷键,亲测可用)
前言 在使用 Python IDLE 时,我时常想有没有像命令提示符环境中的 cls 那样的清屏命令,一下子删除交互模式中所有已执行的命令,毕竟每次都关掉再重新打开 IDLE 有点麻烦,于是在网上 ...
最新文章
- 实现简书个人中心UI效果
- wpa_supplicant学习
- 091_类数组对象转为数组
- Python里三个最高逼格的调试神器
- 副本的leader选举
- c语言穷举算法 枚举法,c语言枚举法 穷举法 ppt课件
- python随机数模块_python 随机数模块 -- random
- 小学教师计算机说课,浙江温州小学计算机教师资格认证说课稿
- 【C11】complex
- vue add element报错_Vue 源码解析 -- new Vue -gt; mountComponent 001
- Week12(11月28日)
- mysql中 show index from tb_name命令各列的含义
- 医学成像中的深度学习——基于PyTorch的3D 医学图像分割
- 基于c#的IE 代理服务器设置
- 通过 SQL Server 视图访问另一个IP地址数据库服务器表的方法
- 最好最常用的国外邮箱推荐!注册非常简单!
- 高考色彩静物组合想要画好?画之前注意下这8点:
- AI产品经理入门手册(上)
- 一文了解,大数据就业薪资怎么样?
- 我的科研生活2017-3-18
热门文章
- BZOJ 3329 Xorequ (数位DP、矩阵乘法)
- python绘制指数函数图像及性质_指数函数图像及其性质正式版
- cmake could not find openssl_Mac OSX系统CMake、QT5运行OpenCV 4.0
- 【转载】redis开启远程访问
- C#:如何去掉groupbox的边框线
- [blog摘要]Exploring and Decoding ETW Providers using Event Log Channels
- 高并发服务端分布式系统设计概要(上)
- Algorithms学习笔记-Chapter0序言
- 初识莫队——小Z的袜子
- 贝叶斯理论在机器学习中的应用