syntaxstyle.java

来自「java写的多功能文件编辑器」· Java 代码 · 共 147 行

JAVA
147
字号
/* * SyntaxStyle.java - A simple text style class * Copyright (C) 1999 Slava Pestov * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */package org.gjt.sp.jedit.syntax;import java.awt.*;import java.util.StringTokenizer;/** * A simple text style class. It can specify the color, italic flag, * and bold flag of a run of text. * @author Slava Pestov * @version $Id: SyntaxStyle.java,v 1.1.1.1 2001/08/20 22:31:42 gfx Exp $ */public class SyntaxStyle{	/**	 * Creates a new SyntaxStyle.	 * @param color The text color	 * @param italic True if the text should be italics	 * @param bold True if the text should be bold	 */	public SyntaxStyle(Color color, boolean italic, boolean bold)	{		this.color = color;		this.italic = italic;		this.bold = bold;	}	/**	 * Returns the color specified in this style.	 */	public Color getColor()	{		return color;	}	/**	 * Returns true if no font styles are enabled.	 */	public boolean isPlain()	{		return !(bold || italic);	}	/**	 * Returns true if italics is enabled for this style.	 */	public boolean isItalic()	{		return italic;	}	/**	 * Returns true if boldface is enabled for this style.	 */	public boolean isBold()	{		return bold;	}	/**	 * Returns the specified font, but with the style's bold and	 * italic flags applied.	 */	public Font getStyledFont(Font font)	{		if(font == null)			throw new NullPointerException("font param must not"				+ " be null");		if(font.equals(lastFont))			return lastStyledFont;		lastFont = font;		lastStyledFont = new Font(font.getFamily(),			(bold ? Font.BOLD : 0)			| (italic ? Font.ITALIC : 0),			font.getSize());		return lastStyledFont;	}	/**	 * Returns the font metrics for the styled font.	 */	public FontMetrics getFontMetrics(Font font)	{		if(font == null)			throw new NullPointerException("font param must not"				+ " be null");		if(font.equals(lastFont) && fontMetrics != null)			return fontMetrics;		lastFont = font;		lastStyledFont = new Font(font.getFamily(),			(bold ? Font.BOLD : 0)			| (italic ? Font.ITALIC : 0),			font.getSize());		fontMetrics = Toolkit.getDefaultToolkit().getFontMetrics(			lastStyledFont);		return fontMetrics;	}	/**	 * Sets the foreground color and font of the specified graphics	 * context to that specified in this style.	 * @param gfx The graphics context	 * @param font The font to add the styles to	 */	public void setGraphicsFlags(Graphics gfx, Font font)	{		Font _font = getStyledFont(font);		gfx.setFont(_font);		gfx.setColor(color);	}	/**	 * Returns a string representation of this object.	 */	public String toString()	{		return getClass().getName() + "[color=" + color +			(italic ? ",italic" : "") +			(bold ? ",bold" : "") + "]";	}	// private members	private Color color;	private boolean italic;	private boolean bold;	private Font lastFont;	private Font lastStyledFont;	private FontMetrics fontMetrics;}

⌨️ 快捷键说明

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