2017-07-01 63 views
-1

我想读一个简单的关键 - 我该如何添加?请任何人都可以帮忙?JAVA阅读简单按键?

public class Test { 
    public static void main(String[] args) throws IOException{ 

    SetUp_JFrame SetUp_JFrame =new SetUp_JFrame(); 
    SetUp_JFrame.PART1(); 

    READ_KEY READ_KEY =new READ_KEY(); 
    for(;;) { 
     READ_KEY.PART2(); 
      } 
      }} 



class SetUp_JFrame { 
    public JFrame f; 
    void PART1()throws IOException { 

    f = new JFrame(); 
    f.setTitle("Test"); 
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    f.setSize(128,128); 
    f.setVisible(true); 
      }} 

class READ_KEY { 
    void PART2() { 

    A = KeyPress 
     System.out.println("You Pressed Key "+A); 
    } 
    } 

stackoverflow询问更多的细节不知道我还能说什么?在基本的,你会使用类似

DO         
A=Inkey$           
Print A              
Loop 

任何帮助将不胜感激...

+1

了解基本的Java编码惯例。 1)不要在类或方法名称中使用“_”。你有没有在Java API中看到过这个? 2)不要在类和方法名中使用全部大写字母。再一次,你有没有在API中看过这个?通过示例学习,不要构成自己的约定。 – camickr

+0

您应该先阅读一些基本教程 - [如何使用键绑定](http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html)和[如何编写关键侦听器]( https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html) - 这里有很多例子 - 另外,你不需要循环 – MadProgrammer

回答

1

一个简单的方法是添加KeyListenerJFrame

f.addKeyListener(new KeyListener() { 
    @Override 
    public void keyTyped(KeyEvent e) { 
    } 

    @Override 
    public void keyPressed(KeyEvent e) { 
     System.out.println("Pressed =" + e.getKeyChar()); 
    } 

    @Override 
    public void keyReleased(KeyEvent e) { 
    } 
}); 

更优选的方法是使用Key Bindings

+0

谢谢你的回答,并且对于简单的问题感到抱歉但我不知道如何将此添加到我当前的代码?提前致谢。 –

+0

'f'是你的JFrame。只需将它添加到您的SetUp_JFrame类。 (请不要在类名中使用下划线。)并删除您的READ_KEY类。 – whiskeyspider

+0

有谁知道如何将它添加到它自己的类? –