SortArrowIcon.java
上传用户:xiekaiwei
上传日期:2015-07-04
资源大小:620k
文件大小:2k
源码类别:

Telnet客户端

开发平台:

Java

  1. package org.tn5250j.gui;
  2. /*
  3. =====================================================================
  4.   SortArrowIcon.java
  5.   Created by Claude Duguay
  6.   Copyright (c) 2002
  7.    This was taken from a Java Pro magazine article
  8.    http://www.fawcette.com/javapro/codepage.asp?loccode=jp0208
  9.    I have NOT asked for permission to use this.
  10. =====================================================================
  11. */
  12. import java.awt.*;
  13. import javax.swing.*;
  14. public class SortArrowIcon implements Icon {
  15.    public static final int NONE = 0;
  16.    public static final int DECENDING = 1;
  17.    public static final int ASCENDING = 2;
  18.    protected int direction;
  19.    protected int width = 8;
  20.    protected int height = 8;
  21.    public SortArrowIcon(int direction) {
  22.       this.direction = direction;
  23.    }
  24.    public int getIconWidth() {
  25.       return width;
  26.    }
  27.    public int getIconHeight() {
  28.       return height;
  29.    }
  30.    public void paintIcon(Component c, Graphics g, int x, int y) {
  31.       Color bg = c.getBackground();
  32.       Color light = bg.brighter();
  33.       Color shade = bg.darker();
  34.       int w = width;
  35.       int h = height;
  36.       int m = w / 2;
  37.       if (direction == ASCENDING) {
  38.          g.setColor(shade);
  39.          g.drawLine(x, y, x + w, y);
  40.          g.drawLine(x, y, x + m, y + h);
  41.          g.setColor(light);
  42.          g.drawLine(x + w, y, x + m, y + h);
  43.       }
  44.       if (direction == DECENDING) {
  45.          g.setColor(shade);
  46.          g.drawLine(x + m, y, x, y + h);
  47.          g.setColor(light);
  48.          g.drawLine(x, y + h, x + w, y + h);
  49.          g.drawLine(x + m, y, x + w, y + h);
  50.       }
  51.    }
  52. }