JButton与键盘关联 我已经设置好了按钮的所有属性,包括监听。但是我想让它和F1键关联在一起,也就是我按F1键的时候执行的就是我点击按钮以后的操作。API里是用public void setMnemonic(int mnemonic),但是它是与ALT键组合使用的。但是我现在想按F1就可以执行,并不按ALT!希望高手们帮我解决一下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你现在的问题就是想按下一个按键 就去执行一个指定的方法是吧使用KeyStore,或者直接添加键盘监听就OK了 button.getAtionMap().put("我的事件名", buttonAction); button.getInputMap(InputMap.WHEN_IN_FOCUS_WINDOW).put(KeyStroke.getKeyStroke("F1"), "我的事件名"); WHEN_IN_FOCUS_WINDOW 没有这个字段啊!getAtionMap();这个方法我在API里也查不到啊!~可能是我太菜了吧,总在这里看到你回答的问题,希望高手指教!~谢谢! import java.awt.Color;import java.awt.event.ActionEvent;import javax.swing.AbstractAction;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.KeyStroke;public class MyTestFrame extends JFrame { public static void main(String[] args) { new MyTestFrame("KeyStroke Test"); } public MyTestFrame(String s) { super(s); this.setLayout(null); JButton button = new JButton(); button.setBounds(50, 50, 200, 200); this.setSize(500, 500); this.setLocation(300, 300); this.setBackground(Color.gray); this.add(button); button.getActionMap().put("Hello", new BtAction()); button.getInputMap(button.WHEN_IN_FOCUSED_WINDOW).put( KeyStroke.getKeyStroke("F1"), "Hello"); this.setVisible(true); } class BtAction extends AbstractAction { public void actionPerformed(ActionEvent e) { System.out.println("不要乱按F1!"); JOptionPane.showMessageDialog(getContentPane(), "不要乱按F1!"); } }}谁都是从菜的时候走过来的,平时多积累一下就好了 如何将JTree里的每一叶子节点都换成不一样的图标? 怎么回产生这个异常的?? 各位大侠帮帮忙,出主意者均有分 求助,关于java中文件的读取。 怎样将.class生成.exe文件哪? java的值传递与传引用 100分,求救-webshpere里面如何调用CGI??在先等待,解决就结帖。 wjmmml(笑着悲伤),请来领分,谢谢你的文档! $$$$$$$$Java爱好者别错过了,你有想过吗?※※※※※ 求一验证Email地址合法性的程序 初级java3D的问题 关于IO,程序有一点不明白!
button.getInputMap(InputMap.WHEN_IN_FOCUS_WINDOW).put(KeyStroke.getKeyStroke("F1"), "我的事件名");
getAtionMap();这个方法我在API里也查不到啊!~
可能是我太菜了吧,总在这里看到你回答的问题,希望高手指教!~谢谢!
import java.awt.event.ActionEvent;import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;public class MyTestFrame extends JFrame { public static void main(String[] args) {
new MyTestFrame("KeyStroke Test");
} public MyTestFrame(String s) {
super(s);
this.setLayout(null);
JButton button = new JButton();
button.setBounds(50, 50, 200, 200);
this.setSize(500, 500);
this.setLocation(300, 300);
this.setBackground(Color.gray);
this.add(button); button.getActionMap().put("Hello", new BtAction());
button.getInputMap(button.WHEN_IN_FOCUSED_WINDOW).put(
KeyStroke.getKeyStroke("F1"), "Hello"); this.setVisible(true);
} class BtAction extends AbstractAction { public void actionPerformed(ActionEvent e) {
System.out.println("不要乱按F1!");
JOptionPane.showMessageDialog(getContentPane(), "不要乱按F1!");
}
}
}谁都是从菜的时候走过来的,平时多积累一下就好了