Advertisement
Guest User

TotalKeyTest Keybinding failure

a guest
Nov 5th, 2016
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.64 KB | None | 0 0
  1. package com.blockhead7360.test.ppa;
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.event.ActionEvent;
  5.  
  6. import javax.swing.AbstractAction;
  7. import javax.swing.JComponent;
  8. import javax.swing.JFrame;
  9. import javax.swing.JTextArea;
  10. import javax.swing.KeyStroke;
  11.  
  12. public class TotalKeyTest {
  13.  
  14.     static JTextArea area;
  15.    
  16.     static int i = 0;
  17.    
  18.     public TotalKeyTest(){
  19.         JFrame frame = new JFrame("Test");
  20.         frame.setPreferredSize(new Dimension(600, 600));
  21.         frame.setMaximumSize(new Dimension(600, 600));
  22.         frame.setMinimumSize(new Dimension(600, 600));
  23.        
  24.         JComponent comp = (JComponent) frame.getContentPane();
  25.         frame.getRootPane().getRootPane().setActionMap(bindKeys(comp).getActionMap());
  26.         frame.getRootPane().getRootPane().setInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW, bindKeys(comp).getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW));
  27.         frame.pack();
  28.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29.         frame.setResizable(false);
  30.         frame.setLocationRelativeTo(null);
  31.         frame.setVisible(true);        
  32.        
  33.     }
  34.    
  35.     public static JComponent bindKeys(JComponent comp){
  36.         comp.getInputMap().put(KeyStroke.getKeyStroke("pressed SPACE"), "pressSpace");
  37.         comp.getActionMap().put("pressSpace", new AbstractAction(){
  38.  
  39.             private static final long serialVersionUID = 1L;
  40.  
  41.             public void actionPerformed(ActionEvent e){
  42.                 System.out.println("pressed Space");
  43.             }
  44.         });
  45.  
  46.         comp.getInputMap().put(KeyStroke.getKeyStroke("pressed A"), "pressLeft");
  47.         comp.getActionMap().put("pressLeft", new AbstractAction(){
  48.  
  49.             private static final long serialVersionUID = 1L;
  50.  
  51.             public void actionPerformed(ActionEvent e){
  52.                 System.out.println("pressed left");
  53.             }
  54.         });
  55.         comp.getInputMap().put(KeyStroke.getKeyStroke("released A"), "releaseLeft");
  56.         comp.getActionMap().put("releaseLeft", new AbstractAction(){
  57.  
  58.             private static final long serialVersionUID = 1L;
  59.  
  60.             public void actionPerformed(ActionEvent e){
  61.                 System.out.println("released left");
  62.             }
  63.         });
  64.        
  65.         comp.getInputMap().put(KeyStroke.getKeyStroke("D"), "pressRight");
  66.         comp.getActionMap().put("pressRight", new AbstractAction(){
  67.  
  68.             private static final long serialVersionUID = 1L;
  69.  
  70.             public void actionPerformed(ActionEvent e){
  71.                 System.out.println("pressed right");
  72.             }
  73.         });
  74.         comp.getInputMap().put(KeyStroke.getKeyStroke("released D"), "releaseRight");
  75.         comp.getActionMap().put("releaseRight", new AbstractAction(){
  76.  
  77.             private static final long serialVersionUID = 1L;
  78.  
  79.             public void actionPerformed(ActionEvent e){
  80.                 System.out.println("released right");
  81.             }
  82.         });
  83.         return comp;
  84.        
  85.     }
  86.    
  87.     public static void main(String args[]){
  88.         new TotalKeyTest();
  89.     }
  90.    
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement