swing中如何屏蔽掉windows的快捷键? 如题。在swing中如何屏蔽掉windows的快捷键?比如swing程序在运行的时候win、alt tab、和esc等快捷键失效。如果觉得分不够可以令开帖给分。我的等级不够,一次只能100分。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当按键被按下时,会产生key event,被按下的键是由keycode属性指定的,而代表此按键的virtual key code可由key event的getKeyCode()获得,每个KeyEvent定义了多个static int常数,每个均以VK开头,代表Virtual key。例如你按下的是WIN,getKeyCode()返回的值就是KeyEvent.VK_WIN的值,你就能取得用户按下的键了,想屏蔽,你就在事件中什么都不做就好了。希望能帮到你 win和alt+tab等应该是操作系统的本地回调,而不是你程序的回调,所以你只能是调用winapi,所以只能用jni实现。 #5最好给个例子出来,前几天我也问了LZ类似的问题,但是不是一模一样的,我是针对jtable屏蔽所有的键盘输入键,问题解决了,当时我也用了类似#5的方法,理论上是可以的,但是代码中是行不通的,最后我解决的方法是继承了BasicTableUI类然后屏蔽了所有的在jtable上的键盘动作,但是这个不适合LZ的用处,希望能带给你点启发。 终于有时间上来了,现在采用的方案基本上是5楼的方案。但是还有一个问题。就是无法捕获到win+D这个快捷键。郁闷啊。 屏蔽不掉的,用JNI,你想自己做一个桌面吗 已经做出来了,只是还有这个屏蔽win快捷键的功能没有实现 不敢用jni啊 这个东西不稳定啊。用过jni但是时不时的报内存read错误。.net又不是很熟悉啊。所以不敢用啊 InputMap inputMap = this.textarea.getInputMap(); inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_DOWN_MASK), "CTRL_C"); 针对的对象是JFrame不是TextField 可以自己注册键盘事件,然后在处理的时候判断如果是快捷键就调用事件的consume()方法注销键盘事件,因为后自定义的事件处理监听器会先系统处理监听器运行 用5楼的方法,你可以屏蔽tab之类的键,但无法屏蔽WIN键。因为tab之类的键是独享的,也就是只作用于当前焦点的程序。但win键则直接被操作系统接收并作出反应,所以即使你在程序里屏蔽了win键,但操作系统依然会响应这个键。你只能调用win api,去中途拦截这个键的信号 最后一行代码中的getLength()被提示出错,不知道是怎么回事哈?跪求高人指点 关于java的classpath问题 如何用jfreechart画平滑的曲线 问一个很简单的问题啊,拜托了很困扰我 关于exec javac的问题 这个题目好象编译有错啊>??再线等 java中如何停止一个启动后的线程? 求教:我像在jButton上实现文本多行显示,我该怎么做? 有没有人对Calendar比较熟悉的阿 怎么我的JDK1.3 AND JDK1.4 都没有sun.jdbc.odbc包 关于super()方法的使用 关于Socket中超时的问题
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_C,
KeyEvent.CTRL_DOWN_MASK), "CTRL_C");