Java - having buttons displaying arrows

主宰稳场 提交于 2019-12-06 23:30:57

问题


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


回答1:


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);



回答2:


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:

  • http://en.wikipedia.org/wiki/Arrow_%28symbol%29
  • http://www.alanwood.net/unicode/arrows.html
  • Unicode symbols (arrows) in Java

You would need to ensure that the font(s) your application may use supports these symbols.




回答3:


Just use a image:

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


来源:https://stackoverflow.com/questions/8502068/java-having-buttons-displaying-arrows

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!