За использование базового класса кнопки со стрелкой в ​​Java - PullRequest
5 голосов
/ 09 февраля 2010

BasicArrowButton - это класс, являющийся частью Java SE. BasicArrowButton Отображает одну стрелку в указанном направлении. Я хочу переопределить класс, сохранив существующие методы, но при этом кнопка Basic Arrow Button отображает двойную стрелку вместо одной стрелки. Например, см. Следующий URL www.tiresias.org/images/ff.jpg. Все, что я хочу сделать, это изменить способ отображения этого значка.

Спасибо,

Ответы [ 2 ]

8 голосов
/ 09 февраля 2010

подкласс BasicArrowButton и переопределение paintTriangle . Вы можете дважды вызвать метод BasicArrowButton * * paintTriangle , чтобы получить треугольники. Например:

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
(источник: amnet.net.au )

1 голос
/ 09 февраля 2010

Simple.

Создайте подкласс BasicArrowButton и переопределите метод paint () и просто нарисуйте изображение, упомянутое в вашем вопросе (ff.jpg или любое другое изображение), используя g.drawImage () .

Обратите внимание, что вам может понадобиться скопировать файл ff.jpg в ваш проект и загрузить его.

Примечание : Для этого вам нужно создать новый класс и использовать его. Вы не можете изменить существующее поведение BasicArrowButton, поскольку он не использует делегат пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...