JButton与键盘关联 我已经设置好了按钮的所有属性,包括监听。但是我想让它和F1键关联在一起,也就是我按F1键的时候执行的就是我点击按钮以后的操作。API里是用public void setMnemonic(int mnemonic),但是它是与ALT键组合使用的。但是我现在想按F1就可以执行,并不按ALT!希望高手们帮我解决一下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该监听键盘事件就好了吧。比如你在button时间里面的actionPerform方面里面的方法是 execute()的话。键盘事件,当F1被按下时,你也调用 execute(),不知道行不行啊。 使用KeyStore,或者直接添加键盘监听 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!"); } }}真有钱,赶紧结贴给分 为什么会有两个结果啊。。 如何将文件里的数据用IO流写入ArrayList容器里 java算法 我刚学jsp,找到一个例子。但是不知道怎么部署,请教各位???谢谢 我的第一篇javaBlog,发一个作业,共同进步!~~ Java 5.0 编绎的类文件用什么东西可以反编绎回来 解决问题,最优答案血洒100分~! 在applet 中可以实现打印么?请高手指点 ***能否在程序运行过程中导入classpath*** 不合法的向前索引??? AWT的问题 ScheduledExecutorService 的问题,请高手帮忙
比如你在button时间里面的actionPerform方面里面的方法是 execute()的话。
键盘事件,当F1被按下时,你也调用 execute(),不知道行不行啊。
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!");
}
}
}真有钱,赶紧结贴给分