圆形图像在java swing Jlabel中

时间:2015-10-10 10:33:09

标签: java image swing jlabel java-2d

我从早上起Jlabel问题一直在敲打我的脑袋;我希望有一个圆形图像而不是标签的普通矩形图像,如下图所示。

我已尝试在标签中覆盖paintComponent但图像根本不会显示。我之前的SO帖子没有找到一个非常具体的答案。欢迎您的帮助。提前谢谢。

我的代码如下:

jLabelPic = new javax.swing.JLabel(){
BufferedImage image= null;
private Ellipse2D.Double border = new Ellipse2D.Double();
private int width=140, height=140;

@Override
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
 try {
image=     ImageIO.read(getClass().getResource("/resources/image.jpg"));
        } catch (IOException ex) {
            ex.printStackTrace();
        }
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
    RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setPaint(Color.RED);
g2d.fillRect(0, 0, width, height);
border.setFrame(0, 0, width, height);
g2d.setClip(border);
g2d.drawImage(image, 0, 0, width, height, this);
}
};

0 个答案:

没有答案