首页

文章

java中如何清屏?

发布网友 发布时间:2022-04-19 22:43

我来回答

1个回答

热心网友 时间:2023-09-15 08:44

通过JNI调用一个库文件(.dll),这个dll中包含一个实现清屏功能(system(“cls”))的导出函数。在java程序中加入代码调用这个库,即可实现当前屏幕的清屏。(--JNI的使用,以及dll的制作在百度随便搜索即可找到,这里请恕不多谈^_^--)\x0d\x0a \x0d\x0a实现步骤:\x0d\x0a1.写一个dll.h\x0d\x0a \x0d\x0a#ifndef _Included_Cls \x0d\x0a#define _Included_Cls \x0d\x0a#ifdef __cplusplus \x0d\x0aextern "C"\x0d\x0a{ \x0d\x0a#endif \x0d\x0aJNIEXPORT void JNICALL Java_Cls_clear \x0d\x0a(JNIEnv *, jobject); \x0d\x0a#ifdef __cplusplus \x0d\x0a} \x0d\x0a#endif \x0d\x0a#endif\x0d\x0a2.再写一个dllmain.c\x0d\x0a \x0d\x0a#include "jni.h"\x0d\x0a#include "dll.h" \x0d\x0a#include "stdlib.h" \x0d\x0aJNIEXPORT void JNICALL Java_Cls_clear(JNIEnv *env, jobject obj) \x0d\x0a{ \x0d\x0asystem("cls");\x0d\x0a}\x0d\x0a \x0d\x0a3.用vc++建立一个dll工程(我的工程名为clsTest)\x0d\x0a导入dllmain.c 和dll.h以及jdk下include目录下的jni.h和include/win32下的jni_md.h 共四个文件\x0d\x0a然后build 这个dll工程,将生成的clsTest.dll放入到你的java.library.path中的其中一个目录下\x0d\x0a查看java.libray.path用代码System.out.print(System.setProperty("java.library.path","."));\x0d\x0a我是根据我的配置将clsTest.dll放到C:/Program Files/Java/jdk1.6.0/jre/bin下\x0d\x0a4.测试\x0d\x0a新建一个测试类Test.java\x0d\x0a \x0d\x0apublic class Test{ \x0d\x0apublic native void clear();//左方的native是通知Java这个函数会使用到外部函数 \x0d\x0a \x0d\x0astatic { \x0d\x0aSystem.loadLibrary("clsTest"); //左方的代码代表我要载入clsTest.dll的动态链接\x0d\x0a}\x0d\x0apublic static void main(String[] args) { \x0d\x0afinal Test a=new Test();\x0d\x0aRunnable k=new Runnable(){\x0d\x0a public void run(){\x0d\x0a for(int i=0;i<20;i++){\x0d\x0a System.out.println(i);\x0d\x0a try {\x0d\x0a Thread.sleep(1000); \x0d\x0a a.clear();\x0d\x0a } catch (Exception e) {\x0d\x0a }\x0d\x0a }\x0d\x0a }\x0d\x0a };\x0d\x0ak.run();//执行线程\x0d\x0a} \x0d\x0a}\x0d\x0a5.在cmd下 javac Test.java\x0d\x0ajava Test\x0d\x0a即可看到运行效果^_^~\x0d\x0a \x0d\x0a注:该解决方案只解决控制台程序的刷屏,且必须是系统控制台,而eclipse等其它IDE的控制台是无法用这种方式进行清屏的,如果要实现,必须使用入侵IDE的进程,因为在eclipse的内置控制台右击邮件有个clear功能,实际上就是个setText(null)事件,入侵IDE就是要在外部制造这个事件,其它IDE要也差不多。\x0d\x0a同样,java的这种刷屏解决方案也适用于linux,不同是其链接库文件是.so,总之原理是差不多的。
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 如何在java中执行shell脚本 初学者怎样学电脑比较好? 如何用java执行命令行 JAVA 如何停止一个运行着的指定线程? 请问各位我是个新手,刚买了新的笔记本电脑,应该... 怎么通过java去调用并执行shell脚本以及问题总结 新手学电脑先学什么 JAVA中如何执行DOS命令 新手使用笔记本电脑有什么技巧? java怎么杀掉java进程 java中如何执行命令行语句 笔记本电脑初学者怎样使用? 怎么在java代码中写入DOS命令 运行在linux下的java程序,调用了命令行,如何让java... 电脑新手怎么学习使用电脑? 如何用Java关闭一个进程 如何在Java中执行其它程序 java中如何执行一个应用程序 java process.waitfor=3是什么意思 Java Process.waitFor()这个方法是做什么用的?是不... 电脑初学者怎样使用电脑? Java中有什么代码是可以清屏啊?? Process.waitFor()、Runtime.getRuntime().exec方... java accept阻塞 用Java代码怎么在浏览器中显示一个网页 新手如何买电脑? 新手上电脑怎么操作把资料考进u盘 手机的前置30W像素摄像头拍出的照片能不能看清楚? 为什么iphone4s前置摄像头只有30万像素? 手机摄像头像素:30万像素算清晰吗? 前置摄像头30万像素,后置500万,总的来说,摄像功... iphone4s前置摄像头和后置摄像头,像素各是多少? 华为前置摄像头30万像素怎么样? iphone4s前置摄像头的像素是多少?像素好吗? iphone4s前置摄像头和后置摄像头,像素各是多少 手机前置摄像头30W像素是什么效果 为什么手机前置摄像头只做成30万像素的 “摄像头像素:前:30万像素,后:500万像素”是什么意思 手机电视高清直播版本:5.8.2下载 手机30万像素的摄像头和200万像素的摄像头到底有多...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com