buttoninputmapexample4.java

来自「一个用java开发界面的程序集(jfc核心编程)」· Java 代码 · 共 47 行

JAVA
47
字号
package JFCBook.Chapter5.jdk13;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class ButtonInputMapExample4 extends JFrame {
	public ButtonInputMapExample4() {
		super("Button Input Map Example 4");

		JButton button = new JButton("PRESS");
		getContentPane().add(button, BorderLayout.CENTER);

		// Get the pressed and released actions
		ActionListener pressedAction = button.getActionForKeyStroke(
				KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0, false));
		ActionListener releasedAction = button.getActionForKeyStroke(
				KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0, true));

		// Add mappings for BACKSPACE
		button.registerKeyboardAction(pressedAction,
			KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, 0, false),
			JComponent.WHEN_FOCUSED);
		button.registerKeyboardAction(releasedAction,
			KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, 0, true),
			JComponent.WHEN_FOCUSED);

		// Remove the SPACE actions
		button.unregisterKeyboardAction(
						KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0, false));
		button.unregisterKeyboardAction(
						KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0, true));
	}
	
	public static void main(String[] args) {
		JFrame f = new ButtonInputMapExample4();
		f.pack();
		f.setVisible(true);
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?