![java有什么方法可以清屏?,第1张 java有什么方法可以清屏?,第1张](/aiimages/java%E6%9C%89%E4%BB%80%E4%B9%88%E6%96%B9%E6%B3%95%E5%8F%AF%E4%BB%A5%E6%B8%85%E5%B1%8F%EF%BC%9F.png)
通过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-111、编写一个类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()
评论列表(0条)