请问如何在窗口最小化时,使用快捷键响应事件? 比如我的程序需要截屏,我当然要最小化程序或在其它程序中。现在我希望我的程序在系统中注册一个快捷键来响应截屏功能。请问如何做,能给个实例吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Frame 中有setVisible(boolean f);可以使新建的Frame是不可见得。添加一个按键事件响应截屏 import javax.swing.JFrame;import javax.swing.JMenu;//菜单条按钮添加文字类import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.FlowLayout;import javax.swing.KeyStroke;import javax.swing.JMenuBar;//菜单条类import javax.swing.JMenuItem;//下拉菜单类import javax.swing.ImageIcon;import java.awt.event.KeyEvent;//加速键,组合键的类class MenuFrame extends JFrame { FlowLayout flowLayout1=new FlowLayout(); JMenuBar jMenuBar1=new JMenuBar();//添加菜单条 JMenu jmenu1=new JMenu("文件"); JMenuItem jMenuItem1_1=new JMenuItem("打开"); JMenuItem jMenuItem1_2=new JMenuItem("保存"); JMenu jmenu2=new JMenu("系统管理"); JMenuItem jMenu2_1=new JMenu("用户维护"); JMenuItem jMenuItem2_2=new JMenuItem("口令维护"); ImageIcon imageIcon1=new ImageIcon("d:\\java_project\\image\\exit.gif"); JMenuItem jMenuItem2_3=new JMenuItem("退出系统",imageIcon1); JMenuItem jMenuItem2_1_1=new JMenuItem("新增用户"); JMenuItem jMenuItem2_1_2=new JMenuItem("删除用户"); MenuListener menuListener1=new MenuListener(); MenuFrame (){ super("带菜单栏的框架实例"); setSize(500,350); getContentPane().setLayout(flowLayout1); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setJMenuBar(jMenuBar1);//添加菜单栏 //添加文件菜单 jMenuBar1.add(jmenu1); jmenu1.add(jMenuItem1_1); jmenu1.add(jMenuItem1_2); //添加系统管理菜单 jMenuBar1.add(jmenu2); jmenu2.add(jMenu2_1); jmenu2.add(jMenuItem2_2); jmenu2.addSeparator();//添加分割符 jmenu2.add(jMenuItem2_3);//为jMenuItem2_3添加组合键//------------------------------------------------------------------------------------ jMenuItem2_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, KeyEvent.CTRL_MASK, false));//------------------------------------------------------------------------------------ //添加用户维护菜单 jMenu2_1.add(jMenuItem2_1_1); jMenu2_1.add(jMenuItem2_1_2); //添加鼠标事件接口 jMenuItem2_1_1.addActionListener(menuListener1); jMenuItem2_1_2.addActionListener(menuListener1); jMenuItem2_2.addActionListener(menuListener1); jMenuItem2_3.addActionListener(menuListener1); show(); } public static void main(String[] args){ MenuFrame menuFrame1=new MenuFrame(); } }//定义菜单项的鼠标事件处理接口class MenuListener implements ActionListener{//实现了在菜单事件下继承鼠标事件的接口public void actionPerformed(ActionEvent e){ String sCommand=e.getActionCommand(); if(sCommand.equals("新增用户")){ System.out.println("新增用户被选中"); } else if(sCommand.equals("删除用户")) { System.out.println("删除用户被选中"); } else if(sCommand.equals("口令维护")){ System.out.println("口令维护被选中"); } else if(sCommand.equals("退出系统")){ System.exit(0); } } } 你看一下这个程序~~他是再系统管理的菜单下的 口令维护 的快捷键的制作~~~不知道你能用的上不阿~~ 这个应该要用VC写一个全局Hook的dll,java调用该dll。 偶尔有缓冲区的概念,但是很想知道为什么,大家帮忙看看好么? 各位高手帮帮忙啊!!!!! 解决马上给分!!! 如何用java.lang.Calendar类获取系统当前时间??!! beanbuilder-1_0-beta怎么装呢? 关于j2sdk的logger?? 请问:Taglib是什么? 如何转型或者使自己的知识结构更加全面合理?(大小鸟毕看) JSTL有人用过吗? 多线程,IO流 请问tomcat4.1下如何能配置运行servlets? java操作excel问题 在线等
添加一个按键事件响应截屏
import javax.swing.JMenu;//菜单条按钮添加文字类
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.FlowLayout;
import javax.swing.KeyStroke;
import javax.swing.JMenuBar;//菜单条类
import javax.swing.JMenuItem;//下拉菜单类
import javax.swing.ImageIcon;
import java.awt.event.KeyEvent;//加速键,组合键的类
class MenuFrame extends JFrame {
FlowLayout flowLayout1=new FlowLayout();
JMenuBar jMenuBar1=new JMenuBar();//添加菜单条
JMenu jmenu1=new JMenu("文件");
JMenuItem jMenuItem1_1=new JMenuItem("打开");
JMenuItem jMenuItem1_2=new JMenuItem("保存");
JMenu jmenu2=new JMenu("系统管理");
JMenuItem jMenu2_1=new JMenu("用户维护");
JMenuItem jMenuItem2_2=new JMenuItem("口令维护");
ImageIcon imageIcon1=new ImageIcon("d:\\java_project\\image\\exit.gif");
JMenuItem jMenuItem2_3=new JMenuItem("退出系统",imageIcon1);
JMenuItem jMenuItem2_1_1=new JMenuItem("新增用户");
JMenuItem jMenuItem2_1_2=new JMenuItem("删除用户");
MenuListener menuListener1=new MenuListener();
MenuFrame (){
super("带菜单栏的框架实例");
setSize(500,350);
getContentPane().setLayout(flowLayout1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setJMenuBar(jMenuBar1);//添加菜单栏
//添加文件菜单
jMenuBar1.add(jmenu1);
jmenu1.add(jMenuItem1_1);
jmenu1.add(jMenuItem1_2);
//添加系统管理菜单
jMenuBar1.add(jmenu2);
jmenu2.add(jMenu2_1);
jmenu2.add(jMenuItem2_2);
jmenu2.addSeparator();//添加分割符
jmenu2.add(jMenuItem2_3);//为jMenuItem2_3添加组合键
//------------------------------------------------------------------------------------
jMenuItem2_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, KeyEvent.CTRL_MASK, false));
//------------------------------------------------------------------------------------
//添加用户维护菜单
jMenu2_1.add(jMenuItem2_1_1);
jMenu2_1.add(jMenuItem2_1_2);
//添加鼠标事件接口
jMenuItem2_1_1.addActionListener(menuListener1);
jMenuItem2_1_2.addActionListener(menuListener1);
jMenuItem2_2.addActionListener(menuListener1);
jMenuItem2_3.addActionListener(menuListener1);
show();
}
public static void main(String[] args){
MenuFrame menuFrame1=new MenuFrame();
}
}
//定义菜单项的鼠标事件处理接口
class MenuListener implements ActionListener{//实现了在菜单事件下继承鼠标事件的接口
public void actionPerformed(ActionEvent e)
{
String sCommand=e.getActionCommand();
if(sCommand.equals("新增用户")){
System.out.println("新增用户被选中");
}
else if(sCommand.equals("删除用户"))
{
System.out.println("删除用户被选中");
}
else if(sCommand.equals("口令维护")){
System.out.println("口令维护被选中");
}
else if(sCommand.equals("退出系统")){
System.exit(0);
}
}
}
你看一下这个程序~~
他是再系统管理的菜单下的 口令维护 的快捷键的制作~~~
不知道你能用的上不阿~~