谁知道java中如何监听注册表事件?

谁知道java中如何监听注册表事件?,第1张

Java语言就以其平台独立性而受到了许多编程者的选择,如果让它来 *** 作注册表的话,好像

就失去了它的行余这个特点,然而在实际的编程中,有时候我们很需要在注册表中存储软件的有

关信息,以方便下次启动的时候初始化或者检查注册信息(假设我们在windows平台下)!那么

在jdk1.4以前的版本中,那是不可能的,只能用JNI来实现,然而在1.4以及以后的版本中我们

就可以用java.util.prefs包中租带猛的Preferences这个类来进行有关的 *** 作!有关Preferences的

来用代码实现吧!

首先得到Preferences的一个对象,这个对象就规定了你要在注册表的哪个位置写入信息,即

节点.然后再用put(String key,String value)或者putInt(),tDouble()...等来给有关项赋值.

下面我就以我的java媒体播放器中的代码为例来详细说明一下:

import java.util.prefs.*

public class Registery{

String keys = {"version","initial","creator"}

String values = {"1.3","ini.mp3","[email protected]"}

//把相应的值储存到变量中弊桥去

public void writeValue(){

//在注册表的HKEY_LOCAL_MACHINE\Software\JavaSoft\prefs下写入注册表值.

Preferences pre = Preferences.systemRoot().node("/javaplayer")

for(int i = 0i <keys.lengthi++){

pre.put(keys,values)}//上面也就规定了version=1.3,initial=ini.mp3,creator=caokai18182sina.com}public static void main(String args){

Registery reg = new Registery()

reg.writeValue()}}执行上面的代码则在注册表的HKEY_LOCAL_MACHINE\Software\JavaSoft\prefs\javaplayer

项下写入了有关值.

最后再说明几点:

1:你的节点的首字母不要大写,不然在注册表中的项前就加了一个“/”

第一个问题:

添加javax.swing.event.TableModelListener,它谨卜的方法

void tableChanged(TableModelEvent e)在表格改变是被调用。

第二个问题,你试试处差拆理keyPress事件,不知道能祥庆穗不能奏效


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

原文地址: http://outofmemory.cn/bake/11968199.html

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

发表评论

登录后才能评论

评论列表(0条)

保存