abstracttextconsole.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 73 行

JAVA
73
字号
/*
 * $Id: AbstractTextConsole.java,v 1.3 2004/02/21 18:29:32 vchira_2000 Exp $
 */
package org.jnode.driver.console.x86;

import org.jnode.driver.console.AbstractConsole;
import org.jnode.driver.console.ConsoleException;
import org.jnode.driver.console.ConsoleManager;

/**
 * @author vali
 */
public abstract class AbstractTextConsole extends AbstractConsole {

	private int tabSize;

	/**
	 * @param mgr
	 * @param name
	 * @throws ConsoleException
	 */
	public AbstractTextConsole(ConsoleManager mgr, String name) throws ConsoleException {
		super(mgr, name);
	}

	public void clearScreen()
	{
		screen.clearScreen();
	}

	public void putChar(char v, int color) {
		if (v == '\n') {
			// Goto next line
			// Clear till eol
			for (int i = curX; i < scrWidth; i++) {
				setChar(i, curY, ' ', color);
			}
			curX = 0;
			curY++;
		} else if (v == '\b') {
			if (curX > 0) {
				curX--;
			} else if (curY > 0) {
				curX = scrWidth - 1;
				curY--;
			}
			setChar(curX, curY, ' ', color);
		} else if (v == '\t') {
			putChar(' ', color);
			while ((curX % tabSize) != 0) {
				putChar(' ', color);
			}
		} else {
			setChar(curX, curY, v, color);
			curX++;
		}
		//setCursor(curX, curY);
	}	

	/**
	 * @return Returns the tabSize.
	 */
	public int getTabSize() {
		return tabSize;
	}
	/**
	 * @param tabSize The tabSize to set.
	 */
	public void setTabSize(int tabSize) {
		this.tabSize = tabSize;
	}
}

⌨️ 快捷键说明

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