java有什么方法可以清屏?

java有什么方法可以清屏?,第1张

通过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=0i 回答于 2022-12-11

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()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12563474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存