如何在java中创建圆形JButton ..?

man*_*ani 4 java swing rounded-corners look-and-feel jbutton

我想在Java中创建圆形JButton ...
为此,我使用圆形图像并将该图像放在按钮上,但我没有得到圆形按钮..

请任何人可以告诉如何在Java中创建圆形按钮如下图所示.. 在此输入图像描述

提前致谢.....

mre*_*mre 6

如果您只是想使用圆形按钮的图像,那么为什么不使用JLabel?也就是说,只需调用setIcon(...),将您的BufferedImage实例作为参数传递.

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

OUTPUT

在此输入图像描述

请记住,您需要以编程方式使图像的背景透明,或者您需要使用像Paint.NET这样的图像编辑工具.