添加图像时Jframe变空

时间:2013-05-31 12:26:16

标签: java swing jframe jlabel imageicon

我需要在我的电脑文件系统中显示图像。图像存储在 -
C:\ Users \ Akshay \ Desktop \ allfiles

相关代码是(向右滚动):

    JFrame frame = new JFrame();
    frame.setExtendedState( frame.getExtendedState()|JFrame.MAXIMIZED_BOTH );
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    frame.setLayout(new FlowLayout());

    JLabel title = new JLabel("Image : ");
    ImageIcon image = new ImageIcon("C:\\Users\\Akshay\\Desktop\\allfiles\\sampleposter.jpg"); //line #1 
    JLabel l = new JLabel("");
    l.setIcon(image); // line #2
    frame.add(title);
    frame.add(l);

以下是输出。我得到一个空框而不是两个jlabels。

enter image description here

在代码中注释第2行,即 -

l.setIcon(image);

我得到相同的输出而不是两个简单的JLabels

在评论第1行和第2行时,我得到两个标签(一个空),如下所示。

enter image description here

如何使用其他标签正确显示图像?这可能是什么问题?

1 个答案:

答案 0 :(得分:3)

  • 你添加了JLabel title = new JLabel(“Image:”);在setVisible(true)之后到已经可见的Swing GUI;被称为,

  • 在frame.setVisible(true)之前移动使用ImageIcon创建JLabel的代码行;

  • 移动代码行frame.setLayout(new FlowLayout());在frame.setVisible(true);

  • 之前