用于java swing的皮肤软件

源代码在线查看: toolbarborder.java

软件大小: 261 K
上传用户: smashup
关键词: swing java 软件
下载地址: 免注册下载 普通下载 VIP

相关代码

				package com.digitprop.tonic;
				
				
				import java.awt.Component;
				import java.awt.Graphics;
				import java.awt.Insets;
				
				import javax.swing.*;
				import javax.swing.border.*;
				
				
				/**	Border for tool bars.
				 * 
				 * 	@author	Markus Fischer
				 *
				 *  	This software is under the GNU Lesser General Public License
				 */
				
				/*
				 * ------------------------------------------------------------------------
				 * Copyright (C) 2004 Markus Fischer
				 * 
				 * This library is free software; you can redistribute it and/or
				 * modify it under the terms of the GNU Lesser General Public
				 * License version 2.1 as published by the Free Software Foundation.
				 * 
				 * This library 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
				 * Lesser General Public License for more details.
				 * 
				 * You should have received a copy of the GNU Lesser General Public
				 * License along with this library; if not, write to the Free 
				 * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
				 * MA 02111-1307  USA
				 * 
				 * You can contact the author at:
				 *    Markus Fischer
				 *    www.digitprop.com
				 *    info@digitprop.com
				 * ------------------------------------------------------------------------
				 */
				public class ToolBarBorder implements Border
				{
					/**	Returns the insets for the specified component */
					public Insets getBorderInsets(Component c) 
					{
						return new Insets(1,1,1,1); 
					}
					
					
					/**	Returns true if this border is opaque */
					public boolean isBorderOpaque()
					{
						return true;
					}
				
				
					/**	Paints this border for the specified component.
					 * 
					 * 	@param	c				The component for which to paint the border
					 * 	@param	g				The graphics context into which to paint
					 * 	@param	x				The left edge of the border
					 * 	@param	y				The top edge of the border
					 * 	@param	width			The width of the border
					 * 	@param	height		The height of the border
					 */
					public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
					{
						if(c instanceof AbstractButton)
						{
							AbstractButton b=(AbstractButton)c;
							
				
							if(b.getModel().isPressed() || ((c instanceof JToggleButton) && ((JToggleButton)c).isSelected()))
							{
								g.setColor(UIManager.getColor("ToolButton.activeBorder"));				
								g.drawLine(x, y, x+width-1, y);
								g.drawLine(x, y, x, y+height-1);
							
								g.drawLine(x, y+height-1, x+width-1, y+height-1);
								g.drawLine(x+width-1, y, x+width-1, y+height-1);
							}
							else if(b.getModel().isRollover())
							{
								g.setColor(UIManager.getColor("ToolButton.activeBorder"));
								g.drawLine(x, y, x+width-1, y);
								g.drawLine(x, y, x, y+height-1);
							
								g.drawLine(x, y+height-1, x+width-1, y+height-1);
								g.drawLine(x+width-1, y, x+width-1, y+height-1);
							}
						}
					}
				}
							

相关资源