まず、「KeyListenerは機能しません」という脅威がたくさんあることは知っています。問題は、私はなぜそれが動作しないと他のスレッドは私のための助けではないか分からない... ユーザーが "シフト"を押すと、プログラムが終了するはずです。ただ、KeyListener
インタフェースを実装KeyListenerは機能しません
public class Main extends JFrame implements KeyListener{
public static void main(String[] args){
new Main();
}
public Main(){
JFrame guiFrame = new JFrame();
//make sure the program exits when the frame closes
guiFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
guiFrame.setLayout(new FlowLayout());
guiFrame.setTitle("");
guiFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
guiFrame.setUndecorated(true);
guiFrame.setAlwaysOnTop(true);
guiFrame.getContentPane().setBackground(Color.black);
JLabel jb1 = new JLabel("WER DAS LIEST IST BLÖD",JLabel.CENTER);
jb1.setFont(new Font("Serif", Font.BOLD, 140));
jb1.setForeground(Color.WHITE);
jb1.setLocation((guiFrame.getWidth()-jb1.getWidth())/2,50);
guiFrame.add(jb1);
//This will center the JFrame in the middle of the screen
guiFrame.setLocationRelativeTo(null);
guiFrame.setVisible(true);
}
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_SPACE){
System.exit(0);
}
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}
シフトしていない申し訳ありませんが、*スペース –
編集ボタンがありますあなたの投稿の下にあなたの投稿の間違いを修正し、関連する追加情報を追加するためにそれを利用してください。何かエラーがありますか?デバッグを追加すると、公開されたキーリリースイベントが表示されますか? e.getKeyCode()の値は何ですか? – scrappedcola
ユーザーがSHIFTを押したときにアプリを終了したい場合は、なぜVK_SPACEをテストしていますか? –