1

我有一个标签。我想将图像渲染到其中。但是下面的代码可以做任何事情。

 CardLayout cl = (CardLayout) (mainPanel.getLayout());
        cl.show(mainPanel, "newPersonaCard");
        BufferedImage myPicture = ImageIO.read(new    File("C:\\Desktop\\Documents\\Pictures\\always.jpg"));
        ImageIcon icon = new ImageIcon(myPicture);
        icon.getImage().flush();

我正在使用 netbean 设计器。

4

3 回答 3

1

你是对的,在某些情况下,重新绘制有问题IconJLabel那么你必须打电话,

myIcon.getImage().flush();
myLabel.setIcon(myIcon);

其余的方法都Icon正确JLabel地实现了

于 2012-04-25T16:29:12.317 回答
1
.
.
File file = fileChooser.getSelectedFile();

JLabel label = new JLabel();
ImageIcon icon = new ImageIcon(file.getAbsolutePath());
label.setIcon(icon);
//add label to panel
于 2012-04-25T15:14:17.907 回答
1
fileChooser.showDialog(saveBtn2, null);
File file = fileChooser.getSelectedFile();
System.out.println("The path to file "+file.getAbsolutePath());          
ImageIcon icon = new ImageIcon(file.getAbsolutePath());
pictureLbl.setIcon(icon);
于 2012-04-25T15:16:58.143 回答