Java - с кнопками, отображающими стрелки - PullRequest
9 голосов
/ 14 декабря 2011

Я хотел бы иметь кнопки на Java, которые показывают стрелки - как на клавиатуре.Пока у меня есть это

JButton arrowUp = new JButton("^");
JButton arrowDown = new JButton("v");
JButton arrowLeft = new JButton("<");
JButton arrowRight = new JButton(">");

Это вроде работает ... но выглядит не очень хорошо.

Любая помощь, как улучшить это ценится

Ответы [ 3 ]

21 голосов
/ 14 декабря 2011

Swing имеет класс кнопок со стрелками по умолчанию, равный BasicArrowButton

Пример:

    JFrame frame = new JFrame("Arrow Button Demo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new BorderLayout());
    frame.add(new BasicArrowButton(BasicArrowButton.EAST), BorderLayout.EAST);
    frame.add(new BasicArrowButton(BasicArrowButton.NORTH), BorderLayout.NORTH);
    frame.add(new BasicArrowButton(BasicArrowButton.SOUTH), BorderLayout.SOUTH);
    frame.add(new BasicArrowButton(BasicArrowButton.WEST), BorderLayout.WEST);
    frame.pack();
    frame.setVisible(true);
11 голосов
/ 14 декабря 2011

Использование ImageIcon на кнопке или одного из Swing BasicArrowButtons , вероятно, является лучшим подходом. Тем не менее, вы могли бы также использовать символы стрелки Unicode. Например

\u25C4: ◄

\u2190: ←

\u25BA: ►

\u2192: →

Некоторые ресурсы:

Вы должны убедиться, что шрифт (ы), который может использовать ваше приложение, поддерживает эти символы.

4 голосов
/ 14 декабря 2011

Просто используйте изображение:

ImageIcon icon = new ImageIcon("images/icon.gif");
JButton button2 = new JButton(icon);
...