Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java GUI 设计  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:键盘事件问题 急 [Re:elminsterjimmy]
liangx





发贴: 37
积分: 0
于 2006-11-10 12:16 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我看了javadoc。
registerKeyboardAction()已经是不在被建议使用的方法。文档中建议使用
getInputMap().put(aKeyStroke,aCommand)和getActionMap().put(aCommand,aAction)来组合代替
原方法。以下代码实现了相同的功能。


import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;

import javax.swing.AbstractAction;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;

public class ActionSample extends AbstractAction {

  
  private final KeyStroke up=KeyStroke.getKeyStroke(KeyEvent.VK_UP,0);
  private final KeyStroke down=KeyStroke.getKeyStroke(KeyEvent.VK_DOWN,0);
  public ActionSample() {
    JFrame frame=new JFrame("测试Action");
    JPanel c=(JPanel)frame.getContentPane();
    
    
    c.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(up,"up");
    c.getActionMap().put("up",this);
    
    c.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(down,"down");
    c.getActionMap().put("down",this);
    frame.setSize(200,200);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }

  public static void main(String[] args) {
    new ActionSample();

  }

  public void actionPerformed(ActionEvent e) {
    System.out.println(e.getActionCommand());
    
  }

}


==

但是问题出来了。在actionPerformed方法中。无法正确打印出actionCommand的结果。这就导致了无法判断到底那一个建被按下了。要解决这个问题的办法是有。例如像JBuilder一样。为每个按键绑定一个匿名Action类但是,我还是想知道actionCommand的传递原理。




Hibernate的优点

话题树型展开
人气 标题 作者 字数 发贴时间
13942 键盘事件问题 急 elminsterjimmy 49 2006-11-01 13:16
12142 Re:键盘事件问题 急 bingjiling1636 126 2006-11-01 22:12
12315 Re:键盘事件问题 急 liangx 18 2006-11-11 17:32
12442 Re:键盘事件问题 急 liangx 1879 2006-11-12 15:09
12753 Re:键盘事件问题 急 lijipeipp 122 2006-11-14 14:12
12056 Re:键盘事件问题 急 guochun 17 2006-11-03 16:56
12131 Re:键盘事件问题 急 bingjiling1636 38 2006-11-03 21:11
12162 Re:键盘事件问题 急 dejinzhao 3652 2006-11-05 23:02
12310 Re:键盘事件问题 急 dejinzhao 75 2006-11-06 07:34
12496 Re:键盘事件问题 急 liangx 51 2006-11-09 16:49
11877 Re:键盘事件问题 急 dejinzhao 111 2006-11-10 09:04
12426 Re:键盘事件问题 急 liangx 1394 2006-11-10 12:16
11847 Re:键盘事件问题 急 dejinzhao 2134 2006-11-11 00:11

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923