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!"); } }}谁都是从菜的时候走过来的,平时多积累一下就好了 好多问题,一块说了,吧. 请问如何设置JButton生成按钮的大小 刚学JAVA,遇到个问题,,,求各位大大帮帮忙 高手才进来:关于输入输出流的两种算法 java applet 中 url连接servlet的问题 数学东西都忘了,在线等,谢谢!!!! java 能连上 sql server2000 ,但数据写不进数据库,求助高手! could you help me?高分求助 无标题栏的Jwindow为什么不能显示 CORBA notification service 初级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!");
}
}
}谁都是从菜的时候走过来的,平时多积累一下就好了