How to create rounded JButton in java..?

后端 未结 3 1676
清歌不尽
清歌不尽 2020-12-17 04:57

I want to create rounded JButton in Java...
For that I use rounded image and placed that image on button but I didn\'t get rounded button..

please any one can te

相关标签:
3条回答
  • 2020-12-17 05:28

    If you're just going to use an image of a round button, then why not just use a JLabel? That is, simply invoke setIcon(...), passing your BufferedImage instance as an argument.

    CODE

    public final class RoundedButtonDemo {
        private static BufferedImage bi;
    
        public static void main(String[] args){
            try {
                loadImage();
    
                SwingUtilities.invokeLater(new Runnable(){
                    @Override
                    public void run() {
                        createAndShowGUI();             
                    }
                });
            } catch (IOException e) {
                // handle exception
            }
        }
    
        private static void loadImage() throws IOException{
            bi = ImageIO.read(RoundedButtonDemo.class.getResource("../resources/login.png"));
        }
    
        private static void createAndShowGUI(){
            final JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            final JLabel label = new JLabel();
            label.setIcon(new ImageIcon(bi));
    
            frame.getContentPane().add(label);
            frame.pack();
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
        }
    }
    

    OUTPUT

    enter image description here

    Keep in mind that you'll need to either programmatically make the background of your image transparent, or you'll need to use an image editing tool like Paint.NET.

    0 讨论(0)
  • 2020-12-17 05:29

    You can use JavaFX to define "Rich Graphic Components" example (rounded button with gradient): http://poligloci.blogspot.com/2009/07/beauty-and-beast-javafx-12-in-netbeans.html

    0 讨论(0)
  • 2020-12-17 05:47

    You need to write a "Look and Feel" (a theme for Java Swing). Not for the faint of heart but possible. I suggest to look at an existing theme.

    LIQUIDLNF should be a good start.

    0 讨论(0)
提交回复
热议问题