我目前正在尝试为Android创建一个小的远程应用程序,以控制PC上的MediaPlayer(如Rythmbox)。
大多数媒体播放器都可以理解键盘上的特殊键(例如“播放/暂停”或“下一个/上一个”)。我的想法是Android App向PC发送命令(例如“
pause”)。在PC上运行一个普通的Java应用程序,该应用程序接收此命令并模拟对此特殊按钮的按键操作。
这样做的好处是,您可以在所有支持此特殊键的播放器的所有平台上使用此应用程序(几乎在每个新的USB键盘上都可以使用)。
我在JavaDocs中搜索KeyEvent
-class中的常量,但是找不到任何常量。有谁知道如何模拟其中一个按钮的按下,如果使用Java甚至可以做到这一点?
只要没有其他解决方案,其他图书馆也可以。
另外,我知道我应该使用a Robot
来模拟按键,这适用于键盘上的所有普通按键。我根本找不到任何模拟这些特殊键的按键的方法。
因此,我认为使用纯Java不可能做到这一点。我尝试了其他方法来找出特殊键具有哪些键代码,但是此小程序仅0
针对那些键返回(它适用于“普通”键):
public class GetKeycode implements KeyListener{
private JFrame f;
private JLabel feld;
public GetKeycode(){
f = new JFrame("GetKeycode");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.addKeyListener(this);
feld = new JLabel();
f.add(feld);
f.pack();
f.setVisible(true);
}
@Override
public void keyReleased(KeyEvent e) {
feld.setText(e.getKeyCode()+"");
}
public static void main(String[] args) {
new GetKeycode();
}
// Unused:
@Override public void keyPressed(KeyEvent e) {}
@Override public void keyTyped(KeyEvent arg0) {}
}
我希望这将在将来的JRE版本中实现。但是目前,似乎还没有解决方案。
无论如何,感谢您的所有回答。
在输入字符时,生成Key事件。有三种类型的键事件由整数常量表示。 这些关键事件如下 KEY_PRESSED KEY_RELASED KEY_TYPED 类声明 以下是java.awt.event.KeyEvent类的声明: public class KeyEvent extends InputEvent 字段 (Field) 以下是java.awt.InputEvent类的字段: stat
在输入字符时,生成Key事件。有三种类型的键事件由整数常量表示。 KEY_PRESSED KEY_RELASED KEY_TYPED Class 声明 (Class Declaration) 以下是java.awt.event.KeyEvent类的声明 - public class KeyEvent extends InputEvent 字段 (Field) 以下是java.awt.Inp
Java中的公共类 我希望在键盘上按Q会使控制台打印,但它只是垃圾邮件和
我想知道如何在一个键事件中按下所有的键。例如,我想为Ctrl+F编写一个监听器,它可以切换全屏。如何检查在一个事件中是否同时按下了Ctrl和F?
在Solidity的类型系统里面有一些类型有一些在其它语言中没有的语法。其中之一就是函数类型。但依然,使用var时,可以把函数类型作为本地变量。 contract FunctionSelector { function select(bool useB, uint x) returns (uint z) { var f = a; if (useB) f = b; ret
特殊包中可用的功能是通用功能,它遵循广播和自动数组循环。 下面来看看一些最常用的特殊函数功能 - 立方根函数 指数函数 相对误差指数函数 对数和指数函数 兰伯特函数 排列和组合函数 伽马函数 下面来简单地了解这些函数。 立方根函数 这个立方根函数的语法是 - 。 这将获取的基于元素的立方体根。 参考下面的一个例子 - 执行上面示例代码,得到以下结果 - 指数函数 指数函数的语法是 - 。 这将计算