Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的媒体/fn密钥_Java_Swing_Events_Key - Fatal编程技术网

java中的媒体/fn密钥

java中的媒体/fn密钥,java,swing,events,key,Java,Swing,Events,Key,我目前正在用java的gstreamer绑定开发一个java媒体应用程序。除了关于键盘的一个小问题,特别是媒体键(例如播放/暂停、后退、下一步),一切都进展顺利 我的操作可以很好地用作这些功能的按钮/菜单项,并且希望允许使用某些键盘(通常是笔记本电脑)上的键。但是,我在java.awt.event.KeyEvent中找不到表示这些键的和。我试着运行下面的代码片段,它对大多数键(包括f1-12)都能正常工作,但在按住“fn”时,对“fn”和媒体键都没有响应 有人知道如何使用这些钥匙吗 代码: 如果

我目前正在用java的gstreamer绑定开发一个java媒体应用程序。除了关于键盘的一个小问题,特别是媒体键(例如播放/暂停、后退、下一步),一切都进展顺利

我的操作可以很好地用作这些功能的按钮/菜单项,并且希望允许使用某些键盘(通常是笔记本电脑)上的键。但是,我在java.awt.event.KeyEvent中找不到表示这些键的和。我试着运行下面的代码片段,它对大多数键(包括f1-12)都能正常工作,但在按住“fn”时,对“fn”和媒体键都没有响应

有人知道如何使用这些钥匙吗

代码:

如果按下
e.getKeyChar()
e.getKeyCode()
键时没有返回任何内容,我不知道通过标准Java库获取这些事件的任何其他方法,除了从较低级别获取代码

您似乎走上了正确的道路,在按下键时尝试获取键代码,这就是当您不知道Java中正确的常量是什么时如何发现键代码的方法


除此之外,它似乎提供了一些可能性(尽管我不确定这是否只适用于Microsoft IntelliType设备,或者它是否可以跨平台工作)。例如,当我在Mac电脑上使用Microsoft IntelliType键盘时,媒体键似乎工作正常。

我担心你会这样说:/我想我无论如何都会问,嗯,更新了我的答案。你也许可以用JIntelliType。
import javax.swing.*;
import java.awt.event.*;

public class Key extends JFrame{

    public Key(){

        JTextField f = new JTextField(50);
        f.addKeyListener(new KeyAdapter(){
            public void keyPressed(KeyEvent e){
                System.out.printf("%s : %d \n", e.getKeyChar(), e.getKeyCode());
            }
        });
        setContentPane(f);
        pack();
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setVisible(true);

    }

    public static void main(String[] args){
        new Key();  
    }

}