代码之家  ›  专栏  ›  技术社区  ›  Elliott

Java中基本箭头按钮类的重写

  •  4
  • Elliott  · 技术社区  · 16 年前

    BaseCARButle是一个类,是Java SE的一部分。基本箭头按钮显示指定方向上的单个箭头。我想重写这个类,保留现有的方法,但是让基本箭头按钮显示一个双箭头而不是一个单箭头。例如,请参见以下网址www.tiresias.org/images/ff.jpg。我只想改变这个图标的绘制方式。

    谢谢您,

    2 回复  |  直到 16 年前
        1
  •  7
  •   Klarth    16 年前

    子类 巴西卡罗按钮 超驰 彩三角 . 你可以试着回忆 巴西卡罗按钮 的 彩三角 方法两次获取三角形。例如:

    public static class Bidriectional extends BasicArrowButton {
      private static final long serialVersionUID = 1L;
    
      public Bidriectional() {
       // This does not matter, we'll override it anyways.
       super(SwingConstants.NORTH);
      }
    
      @Override
      public void paintTriangle(Graphics g, int x, int y, int size,
        int direction, boolean isEnabled) {
    
       super.paintTriangle(g, x - (size / 2), y, size, SwingConstants.EAST, isEnabled);
       super.paintTriangle(g, x + (size / 2), y, size, SwingConstants.EAST, isEnabled);
      }
     }
    

    应该给你一个这样的按钮:

    screenshot http://www.amnet.net.au/~kgoh/images/double_arrow.jpg

        2
  •  1
  •   Suraj Chandran    16 年前

    简单。

    子类basicarrowButton并重写paint()方法,使用 g.drawImage() .

    注意,您可能需要将ff.jpg复制到项目中并加载它。

    注释 :为此,必须创建一个新类并使用它。不能更改BasicRowButton的现有行为,因为它不使用UI委托。