java.awt.KeyboardFocusManager#addKeyEventDispatcher ( )源码实例Demo

下面列出了java.awt.KeyboardFocusManager#addKeyEventDispatcher ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

public static synchronized void install() {
    if(installed) {
        return;
    }
    
    ShortcutAndMenuKeyEventProcessor instance = getDefault();
    
    KeyboardFocusManager keyboardFocusManager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
    keyboardFocusManager.addKeyEventDispatcher(instance);
    keyboardFocusManager.addKeyEventPostProcessor(instance);
    // #63252: Disable focus traversal functionality of Ctrl+Tab and Ctrl+Shift+Tab,
    // to allow our own document switching (RecentViewListAction)
    defaultForward = keyboardFocusManager.getDefaultFocusTraversalKeys(
                        KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
    defaultBackward = keyboardFocusManager.getDefaultFocusTraversalKeys(
                        KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS);
    keyboardFocusManager.setDefaultFocusTraversalKeys(
        KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
        Collections.singleton(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_TAB, 0))
    );                
    keyboardFocusManager.setDefaultFocusTraversalKeys(
        KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
        Collections.singleton(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_TAB, KeyEvent.SHIFT_DOWN_MASK))
    );                
}
 
源代码2 项目: chip8   文件: SwingMain.java
/**
 * Creates new form SwingMain
 */
public SwingMain() {
    this.chip8Runner = new Thread(() -> {
        while (true) {
            try {
                if (running) {
                    if (pause == false || step) {
                        step = false;
                        chip8.cycle();
                        ((Chip8Model) jTable1.getModel()).update(chip8);
                    }
                    outputPanel.repaint();
                }
                sleep(1);
            } catch (InterruptedException ex) {
                Logger.getLogger(SwingMain.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    });
    initComponents();
    KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
    manager.addKeyEventDispatcher(new KeyEventDispatcher() {
        @Override
        public boolean dispatchKeyEvent(KeyEvent e) {
            switch (e.getID()) {
                case KeyEvent.KEY_PRESSED:
                    Input.press(e.getKeyChar() + "");
                    break;
                case KeyEvent.KEY_RELEASED:
                    Input.unpress();
                    break;
                default:
                    break;
            }
            return false;
        }
    });
}
 
源代码3 项目: megamek   文件: MegaMekGUI.java
public void createController() {
    controller = new MegaMekController();
    KeyboardFocusManager kbfm = KeyboardFocusManager
            .getCurrentKeyboardFocusManager();
    kbfm.addKeyEventDispatcher(controller);

    KeyBindParser.parseKeyBindings(controller);
}
 
源代码4 项目: jfxvnc   文件: SwingDemo.java
public SwingDemo(boolean singleFrame) {
  JFrame frame = new JFrame("SwingDemo");
  frame.setSize(900, 700);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
  manager.addKeyEventDispatcher(new KeyDispatcher());

  if (singleFrame) {
    frame.setContentPane(createVncView());
    frame.setBackground(Color.GRAY);
    frame.setVisible(true);
    return;
  }

  JDesktopPane pane = new JDesktopPane();
  frame.setContentPane(pane);

  iframe = new JInternalFrame("VNC", true, true, true, true);
  iframe.setSize(850, 650);
  iframe.setOpaque(false);
  iframe.addInternalFrameListener(this);
  iframe.setContentPane(createVncView());
  pane.add(iframe);
  frame.setVisible(true);
  iframe.setVisible(true);

}
 
源代码5 项目: settlers-remake   文件: JSettlersFrame.java
JSettlersFrame() throws HeadlessException {
	setTitle("JSettlers - Version: " + CommitInfo.COMMIT_HASH_SHORT);

	SettingsManager settingsManager = SettingsManager.getInstance();

	UiPlayer uiPlayer = settingsManager.getPlayer();
	multiPlayerConnector = new MultiplayerConnector(settingsManager.getServer(), uiPlayer.getId(), uiPlayer.getName());
	mainPanel = new MainMenuPanel(this, multiPlayerConnector);

	showMainMenu();
	setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	setPreferredSize(new Dimension(1200, 800));
	pack();
	setLocationRelativeTo(null);

	fullScreen = settingsManager.getFullScreenMode();
	updateFullScreenMode();

	KeyboardFocusManager keyboardFocusManager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
	keyboardFocusManager.addKeyEventDispatcher(e -> {
		if (e.getID() == KeyEvent.KEY_PRESSED) {
			if (e.isAltDown() && e.getKeyCode() == KeyEvent.VK_ENTER) {
				toogleFullScreenMode();
				return true; // consume this key event.
			}
		}
		return false;
	});
}
 
源代码6 项目: jpexs-decompiler   文件: MainFrameMenu.java
private void registerHotKeys() {

        KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
        manager.addKeyEventDispatcher(keyEventDispatcher = this::dispatchKeyEvent);
    }
 
源代码7 项目: magarena   文件: SwingGameController.java
private void setControlKeyMonitor() {
    isControlKeyDown = false;
    final KeyboardFocusManager kbFocusManager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
    kbFocusManager.removeKeyEventDispatcher(keyEventDispatcher);
    kbFocusManager.addKeyEventDispatcher(keyEventDispatcher);
}