1、我想做个跟“按键精灵”一样的java程序,我如何把一个字符串的内容输出到屏幕上网页中的文本框中?也就是,根据鼠标的位置,把内容输出到鼠标指定的文本框中或者其他地方???
2、我把菜单项的某项设置了快捷键,只有当前窗口为焦点的时候,快捷键才响应,我如何在后台响应该菜单项????谢谢
2、我把菜单项的某项设置了快捷键,只有当前窗口为焦点的时候,快捷键才响应,我如何在后台响应该菜单项????谢谢
解决方案 »
- java swing保存问题
- 跪求高手一览:生成表格样式的图片其字段的内容不确定导致格式无法完美定位
- 求教,eclipse中ant的使用
- java线程中的自定义事件
- 怎么样求出局域网上另外一台机器上的系统当前时间?要求精确到毫秒!!在线等待,马上结分!
- 怎么将java GUI嵌入到web页面中
- 请教JTree删除截点和对截点重命名的问题
- 为什么str.replaceAll("location in ('HK')","location not in ('HK','TP')");不能替换?
- jbuilder2005在开发web应用程序时,当编译一个.java后如何自动放入web-info\classes下?
- 怎样调用对话框?
- java中如何实现php中类似strip_tags的功能
- 关于两个ArrayList互相影响的问题
这两个用到JS的话是不难的。
http://topic.csdn.net/u/20080620/10/b7db8687-8dca-488f-9e38-c923c507c53e.html我是用eclipse编写的程序,在工作空间workspace中,把jintellitype文件夹放在workspace目录下,jintellitype文件夹存放了jintellitype-1.3.1.jar和JIntellitype.dll两个文件,然后我的程序在workspace目录下的Automatism\src文件夹内,在eclipse中,点击项目右键——属性——Java构建路径——库——添加外部jar——添加jintellitype-1.3.1.jar后,稍作整理,开始编译Automatism项目,可为什么出错啊????Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.melloware.jintellitype.JIntellitype.<clinit>(JIntellitype.java:57)
at Auto.initHotkey(Auto.java:105)
at Auto.main(Auto.java:119)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 3 more
错误点就在:
void initHotkey() {
//参数KEY_1表示改组热键组合的标识,第二个参数表示组合键,如果没有则为0,该热键对应ctrl+alt+I
JIntellitype.getInstance().registerHotKey(KEY_1, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'I');
JIntellitype.getInstance().registerHotKey(KEY_2, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'O');
JIntellitype.getInstance().registerHotKey(KEY_3, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'X');
JIntellitype.getInstance().addHotKeyListener(this);
}
哪位高手能帮我解决下啊,另外,JIntellitype.dll文件我放哪儿,是放在jintellitype文件夹,还是放在Automatism\src,还是放在Automatism\bin内?????????????
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import com.melloware.jintellitype.HotkeyListener;
import com.melloware.jintellitype.JIntellitype;
public class Auto extends JFrame implements HotkeyListener {
private static final long serialVersionUID = 1268832569328261240L;
static final int KEY_1 = 88;
static final int KEY_2 = 89;
static final int KEY_3 = 90;
private Thread thread;
private static boolean play=false; private JMenuBar bar = new JMenuBar();
private JMenu mC=new JMenu(" 控制 ");
private JMenuItem mPrint = new JMenuItem("输出"),
mStop=new JMenuItem("停止");
Auto(){
setSize(300,200);
setMinimumSize(new Dimension(300,200));
bar.add(mC);
setJMenuBar(bar);
mC.add(mPrint);
mC.add(mStop);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - getSize().width) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height - getSize().height) / 2);
mPrint.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){ }
}); mStop.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
stopPlay();
}
});
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
mStop.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_Q,KeyEvent.CTRL_MASK));
setResizable(false);
setVisible(true);
}
public static boolean isPlay(){
return play;
}
public void stopPlay(){
System.out.println("按下了CTRL+Q");
play=false;
if(thread!=null)
while(!thread.isInterrupted())
thread.interrupt();
}
public void onHotKey(int key){
switch (key) {
case KEY_1:
System.out.println("ctrl+alt+I 按下.........");
break;
case KEY_2:
System.out.println("ctrl+alt+O 按下.........");
break;
case KEY_3:
System.out.println("系统退出..........");
destroy();
}
}
/** *//**
* 解除注册并退出
*/
void destroy(){
JIntellitype.getInstance().unregisterHotKey(KEY_1);
JIntellitype.getInstance().unregisterHotKey(KEY_2);
JIntellitype.getInstance().unregisterHotKey(KEY_3);
System.exit(0);
}
/** *//**
* 初始化热键并注册监听事件
*/
void initHotkey() {
//参数KEY_1表示改组热键组合的标识,第二个参数表示组合键,如果没有则为0,该热键对应ctrl+alt+I
JIntellitype.getInstance().registerHotKey(KEY_1, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'I');
JIntellitype.getInstance().registerHotKey(KEY_2, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'O');
JIntellitype.getInstance().registerHotKey(KEY_3, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'X');
JIntellitype.getInstance().addHotKeyListener(this);
}
public static void main(String[] args) {
Auto auto=new Auto();
auto.initHotkey();
while (true) {
try {
Thread.sleep(10000);
} catch (Exception ex) {
break;
}
}
}
}
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import com.melloware.jintellitype.HotkeyListener;
import com.melloware.jintellitype.JIntellitype;
public class Auto extends JFrame implements HotkeyListener {
private static final long serialVersionUID = 1268832569328261240L;
static final int KEY_1 = 88;
static final int KEY_2 = 89;
static final int KEY_3 = 90;
private Thread thread;
private static boolean play=false; private JMenuBar bar = new JMenuBar();
private JMenu mC=new JMenu(" 控制 ");
private JMenuItem mPrint = new JMenuItem("输出"),
mStop=new JMenuItem("停止");
Auto(){
setSize(300,200);
setMinimumSize(new Dimension(300,200));
bar.add(mC);
setJMenuBar(bar);
mC.add(mPrint);
mC.add(mStop);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - getSize().width) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height - getSize().height) / 2);
mPrint.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){ }
}); mStop.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
stopPlay();
}
});
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
mStop.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_Q,KeyEvent.CTRL_MASK));
setResizable(false);
setVisible(true);
}
public static boolean isPlay(){
return play;
}
public void stopPlay(){
System.out.println("按下了CTRL+Q");
play=false;
if(thread!=null)
while(!thread.isInterrupted())
thread.interrupt();
}
public void onHotKey(int key){
switch (key) {
case KEY_1:
System.out.println("ctrl+alt+I 按下.........");
break;
case KEY_2:
System.out.println("ctrl+alt+O 按下.........");
break;
case KEY_3:
System.out.println("系统退出..........");
destroy();
}
}
/** *//**
* 解除注册并退出
*/
void destroy(){
JIntellitype.getInstance().unregisterHotKey(KEY_1);
JIntellitype.getInstance().unregisterHotKey(KEY_2);
JIntellitype.getInstance().unregisterHotKey(KEY_3);
System.exit(0);
}
/** *//**
* 初始化热键并注册监听事件
*/
void initHotkey() {
//参数KEY_1表示改组热键组合的标识,第二个参数表示组合键,如果没有则为0,该热键对应ctrl+alt+I
JIntellitype.getInstance().registerHotKey(KEY_1, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'I');
JIntellitype.getInstance().registerHotKey(KEY_2, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'O');
JIntellitype.getInstance().registerHotKey(KEY_3, JIntellitype.MOD_CONTROL + JIntellitype.MOD_ALT,
(int) 'X');
JIntellitype.getInstance().addHotKeyListener(this);
}
public static void main(String[] args) {
Auto auto=new Auto();
auto.initHotkey();
while (true) {
try {
Thread.sleep(10000);
} catch (Exception ex) {
break;
}
}
}
}
-> jintellitype.jar
-> JIntellitype.dll (or put in Windows/System32)
这个是因为apache的commons-logging的jar没导入
你可以去apache官方网站下载,如果你用的ide是eclipse的话,它的plugins目录里也有这个包
输出到屏幕上网页中的文本框中。 这个网页是自己写的吗? 自己写的比较简单, 就写个文件就OK了, 你不会是想在别的的网页里输出内容吧。 那你好好请教一下SUN了。