⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bevelarrowicon.java

📁 JMule是一个基于Java开发
💻 JAVA
字号:
/* *  JMule - Java file sharing client *  Copyright (C) 2007-2008 JMule team ( jmule@jmule.org / http://jmule.org ) * *  Any parts of this program derived from other projects, or contributed *  by third-party developers are copyrighted by their respective authors. * *  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 (at your option) 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. * */package org.jmule.ui.swing.tables;import java.awt.Color;import java.awt.Component;import java.awt.Graphics;import javax.swing.Icon;import javax.swing.UIManager;/** *  * @author gregork * @version $$Revision: 1.1 $$ * Last changed by $$Author: javajox $$ on $$Date: 2008/07/31 16:44:04 $$ */public class BevelArrowIcon implements Icon {	  public static final int UP    = 0;         // direction	  public static final int DOWN  = 1;	   	  private static final int DEFAULT_SIZE = 11;	 	  private Color edge1;	  private Color edge2;	  private Color fill;	  private int size;	  private int direction;	 	  public BevelArrowIcon(int direction, boolean isRaisedView, boolean isPressedView) {	    if (isRaisedView) {	      if (isPressedView) {	        init( UIManager.getColor("controlLtHighlight"),	              UIManager.getColor("controlDkShadow"),	              UIManager.getColor("controlShadow"),	              DEFAULT_SIZE, direction);	      } else {	        init( UIManager.getColor("controlHighlight"),	              UIManager.getColor("controlShadow"),	              UIManager.getColor("control"),	              DEFAULT_SIZE, direction);	      }	    } else {	      if (isPressedView) {	        init( UIManager.getColor("controlDkShadow"),	              UIManager.getColor("controlLtHighlight"),	              UIManager.getColor("controlShadow"),	              DEFAULT_SIZE, direction);	      } else {	        init( UIManager.getColor("controlShadow"),	              UIManager.getColor("controlHighlight"),	              UIManager.getColor("control"),	              DEFAULT_SIZE, direction);	      }	    }	  }	 	  public BevelArrowIcon(Color edge1, Color edge2, Color fill,	                   int size, int direction) {	    init(edge1, edge2, fill, size, direction);	  }	 	  public void paintIcon(Component c, Graphics g, int x, int y) {	    switch (direction) {	      case DOWN: drawDownArrow(g, x, y); break;	      case   UP: drawUpArrow(g, x, y);   break;	    }	  } 	 	  public int getIconWidth() {	    return size;	  }	 	  public int getIconHeight() {	    return size;	  }	 	 	  private void init(Color edge1, Color edge2, Color fill,	                   int size, int direction) {	    this.edge1 = edge1;	    this.edge2 = edge2;	    this.fill = fill;	    this.size = size;	    this.direction = direction;	  }	 	  private void drawDownArrow(Graphics g, int xo, int yo) {	    g.setColor(edge1);	    g.drawLine(xo, yo,   xo+size-1, yo);	    g.drawLine(xo, yo+1, xo+size-3, yo+1);	    g.setColor(edge2);	    g.drawLine(xo+size-2, yo+1, xo+size-1, yo+1);	    int x = xo+1;	    int y = yo+2;	    int dx = size-6;      	    while (y+1 < yo+size) {	      g.setColor(edge1);	      g.drawLine(x, y,   x+1, y);	      g.drawLine(x, y+1, x+1, y+1);	      if (0 < dx) {	        g.setColor(fill);	        g.drawLine(x+2, y,   x+1+dx, y);	        g.drawLine(x+2, y+1, x+1+dx, y+1);	      }	      g.setColor(edge2);	      g.drawLine(x+dx+2, y,   x+dx+3, y);	      g.drawLine(x+dx+2, y+1, x+dx+3, y+1);	      x += 1;	      y += 2;	      dx -= 2;     	    }	    g.setColor(edge1);	    g.drawLine(xo+(size/2), yo+size-1, xo+(size/2), yo+size-1); 	  }	 	  private void drawUpArrow(Graphics g, int xo, int yo) {	    g.setColor(edge1);	    int x = xo+(size/2);	    g.drawLine(x, yo, x, yo); 	    x--;	    int y = yo+1;	    int dx = 0;	    while (y+3 < yo+size) {	      g.setColor(edge1);	      g.drawLine(x, y,   x+1, y);	      g.drawLine(x, y+1, x+1, y+1);	      if (0 < dx) {	        g.setColor(fill);	        g.drawLine(x+2, y,   x+1+dx, y);	        g.drawLine(x+2, y+1, x+1+dx, y+1);	      }	      g.setColor(edge2);	      g.drawLine(x+dx+2, y,   x+dx+3, y);	      g.drawLine(x+dx+2, y+1, x+dx+3, y+1);	      x -= 1;	      y += 2;	      dx += 2;     	    }	    g.setColor(edge1);	    g.drawLine(xo, yo+size-3,   xo+1, yo+size-3);	    g.setColor(edge2);	    g.drawLine(xo+2, yo+size-2, xo+size-1, yo+size-2);	    g.drawLine(xo, yo+size-1, xo+size, yo+size-1);	  }}

⌨️ 快捷键说明

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