consolekeyhandler.java

来自「JAVA 数学程序库 提供常规的数值计算程序包」· Java 代码 · 共 60 行

JAVA
60
字号
package jmathlib.ui.awt;

import java.awt.event.*;

/**Class for handling key events
It only works with the Console class*/
public class ConsoleKeyHandler implements KeyListener
{
	public ConsoleKeyHandler()
	{
	}
	
    public void keyTyped(KeyEvent e){}

	/**Interpret key presses*/
    public void keyPressed(KeyEvent e)
    {
    	Console input = ((Console)e.getSource());
    	int keyValue = e.getKeyCode();

		if((keyValue == KeyEvent.VK_UP)  || 
           (keyValue == KeyEvent.VK_DOWN)   )
		{    	
			//consume the key event so the cursor doesn't move
			e.consume();

	    	if(keyValue == KeyEvent.VK_UP)			//up cursor
	    		input.prevCommand();
	    	else if(keyValue == KeyEvent.VK_DOWN)	//down cursor
	    		input.nextCommand();
	    	
		}
		else if(keyValue == KeyEvent.VK_LEFT) //left cursor
		{
			//check the cursor isn't moving off the current line
			input.checkPosition();
		}
		else if(keyValue == KeyEvent.VK_ENTER)
		{
			//stop the enter from working
			e.consume();
		}
    }

	
    public void keyReleased(KeyEvent e)
    {
    	Console input = ((Console)e.getSource());
    	int keyValue = e.getKeyCode();

		if(keyValue == KeyEvent.VK_ENTER)
			input.interpretLine();
		else if(keyValue == KeyEvent.VK_HOME)
			input.home();
		else if((keyValue == KeyEvent.VK_UP)   ||
                (keyValue == KeyEvent.VK_DOWN)    )
			input.end();
    }	
}

⌨️ 快捷键说明

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