您的位置:程序门 -> java -> gui 设计



请教:在swing中如何给窗口加一个f1的快捷键?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教:在swing中如何给窗口加一个f1的快捷键?
发表于:2007-02-03 10:34:55 楼主
在线等!
发表于:2007-02-03 15:09:111楼 得分:0
toolkit   toolkit   =   toolkit.getdefaulttoolkit();   toolkit.addawteventlistener(caplistener,   awtevent.key_event_mask   ¦   awtevent.mouse_event_mask ¦   awtevent.window_event_mask);   实现一个监听器:   class   caplistener   implements   awteventlistener   {   public   void   eventdispatched(awtevent   event)   {   }   }
发表于:2007-02-06 16:38:062楼 得分:0
package   com.fpg.example;

import   java.awt.awtevent;
import   java.awt.toolkit;
import   java.awt.event.awteventlistener;
import   java.awt.event.keyevent;

import   javax.swing.jframe;
import   javax.swing.jradiobutton;
import   javax.swing.jtextfield;

public   class   windowf1   extends   jframe{
private   toolkit   toolkit   =   toolkit.getdefaulttoolkit();

public   windowf1()   {
toolkit.addawteventlistener(new   caplistener(),   awtevent.key_event_mask);
jtextfield   jt1   =   new   jtextfield();
jt1.setbounds(30,30,60,20);
jradiobutton   jr1   =   new   jradiobutton();
jr1.setbounds(60,60,20,20);
getcontentpane().setlayout(null);
add(jt1);
add(jr1);
setsize(400,   300);
setvisible(true);
setdefaultcloseoperation(3);
}

public   static   void   main(string   args[])   {
new   windowf1();
}

//   toolkit
//   实现一个监听器:
class   caplistener   implements   awteventlistener   {
public   void   eventdispatched(awtevent   event)   {
object   o   =   event;
if(((keyevent)event).getkeycode()   ==   keyevent.vk_f1){
system.out.println( "f1 ");
}
}
}

}
发表于:2007-02-07 11:07:573楼 得分:0
记号
发表于:2007-02-07 12:01:174楼 得分:0
mark
发表于:2007-02-07 13:00:355楼 得分:0
mark
发表于:2007-02-07 17:14:236楼 得分:0
xuexi
发表于:2007-02-12 11:01:477楼 得分:0
keyevent类还有两个方法也常常被用到,那就是getkeycode()与
getkeymodifierstext(int   modifiers).键盘上每一个按钮都有对应码(code),可用来查知用户按了什么键,
如[shift]键code为16。利用getkeycode()方法就可以得知这个码,不过读者要注意,这个方法在keytyped()
上是无法检测出来的,因为keytyped()只管用户输入的字符,而不会管到键盘的对应码,算是处理比较高层
事件的方法。也就是说keytyped()方法是keyboad   independent,因为不同的键盘可能有不同的对应码(如windows
  u.s.   keyboard与windows   french   keyboard就有不同的对应码)。因此你一定要将getkeycode()方法写在
keypressed()或keyreleased()方法中才会有效,因为这两个方法是处理比较低层的方法。
    另外getkeymodifierstext()方法可返回修饰键的字符串,如返回“shift”字符串或是“ctrl+shift”字符串,
不过你要先传入modifiers参数。你可以直接使用getmodifiers()方法来得到modifiers参数。这个方法是定义在
inputevent类中,而keyevent继承它,因此就能直接使用这个方法。同样,你必须将getkeymodifierstext()与
getmodifiers()方法放在keypressed()或keyreleased()方法中才会有效。
发表于:2007-02-12 20:45:028楼 得分:0
楼主,没事就把贴子结了吧.
发表于:2007-03-13 13:37:559楼 得分:0
路过...
发表于:2007-03-16 15:56:3610楼 得分:0
mark
发表于:2007-03-16 16:53:0311楼 得分:0
mark


快速检索

最新资讯
热门点击