Java-кнопки со стрелками
Я хотел бы иметь кнопки на Java, которые показывают стрелки на клавиатуре. До сих пор у меня это
JButton arrowUp = new JButton("^");
JButton arrowDown = new JButton("v");
JButton arrowLeft = new JButton("<");
JButton arrowRight = new JButton(">");
это вроде как работает ... но выглядит не совсем красиво.
любая помощь, как улучшить это приветствуется
3 ответов
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);
С помощью ImageIcon на кнопку, или один из качания BasicArrowButtons вероятно, лучший подход. Тем не менее, вы мог бы использовать Юникод символы со стрелками. Например
\u25C4
: ◄
\u2190
: ←
\u25BA
: ►
\u2192
: →
некоторые ресурсы:
- http://en.wikipedia.org/wiki/Arrow_%28symbol%29
- http://www.alanwood.net/unicode/arrows.html
- символы Юникода (стрелки) в Java
вам нужно будет убедиться, что шрифт(ы), которые может использовать ваше приложение, поддерживает эти символы.
просто используйте изображение:
ImageIcon icon = new ImageIcon("images/icon.gif");
JButton button2 = new JButton(icon);