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: →

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

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


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

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