Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中创建圆角JButton。。?_Java_Swing_Jbutton_Rounded Corners_Look And Feel - Fatal编程技术网

如何在java中创建圆角JButton。。?

如何在java中创建圆角JButton。。?,java,swing,jbutton,rounded-corners,look-and-feel,Java,Swing,Jbutton,Rounded Corners,Look And Feel,我想用Java创建圆角JButton… 为此,我使用圆角图像并将该图像放置在按钮上,但我没有使用圆角按钮 请大家告诉我如何用Java创建圆形按钮,如下图所示。。 提前感谢….您需要编写一个“外观”(JavaSwing的主题)。不是为了胆小的人,而是可能的。我建议看看现有的主题 这应该是一个很好的开始。您可以使用JavaFX定义“丰富的图形组件”示例(带渐变的圆角按钮):如果您只想使用圆形按钮的图像,那么为什么不使用JLabel?也就是说,只需调用,将buffereImage实例作为参数传递 代

我想用Java创建圆角JButton…
为此,我使用圆角图像并将该图像放置在按钮上,但我没有使用圆角按钮

请大家告诉我如何用Java创建圆形按钮,如下图所示。。

提前感谢….

您需要编写一个“外观”(JavaSwing的主题)。不是为了胆小的人,而是可能的。我建议看看现有的主题


这应该是一个很好的开始。

您可以使用JavaFX定义“丰富的图形组件”示例(带渐变的圆角按钮):

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

代码 输出


请记住,您需要以编程方式使图像背景透明,或者需要使用图像编辑工具,如。

@mani,我不确定您是否仍然感兴趣,但我更新了我的答案。Java Swing主题实际上称为外观
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);
    }
}