Reputation: 14738
I would like to have a buttons in Java which shows the arrows - like on the keyboard. So far I have this
JButton arrowUp = new JButton("^");
JButton arrowDown = new JButton("v");
JButton arrowLeft = new JButton("<");
JButton arrowRight = new JButton(">");
It kinda works ... but does not look quite nice.
Any help how to improve this is appreciated
Upvotes: 11
Views: 20905
Reputation: 16235
Using an ImageIcon on the button, or one of the Swing BasicArrowButtons is probably the best approach. However, you could also use Unicode arrow symbols. For example
\u25C4
: ◄
\u2190
: ←
\u25BA
: ►
\u2192
: →
Some resources:
You would need to ensure that the font(s) your application may use supports these symbols.
Upvotes: 11
Reputation: 59660
Swing has a default arrow button class that is BasicArrowButton
Example:
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);
Upvotes: 26
Reputation: 52229
Just use a image:
ImageIcon icon = new ImageIcon("images/icon.gif");
JButton button2 = new JButton(icon);
Upvotes: 4