Java Swing图标没有出现

时间:2017-09-01 09:01:45

标签: java swing

我尝试创建一段代码,按下按钮时会显示笑脸或悲伤的脸部,具体取决于某些值,但它只是不会显示图像。我知道它肯定会超越if / else语句,所以我真的不知道出了什么问题。

 try {
    if(data[2] <= ((int) ChronoUnit.DAYS.between(localDate, RTS()))*MnHrs())
    {
        JLabel lblSmiley = new JLabel(new ImageIcon("C:\\. . .\\smileyface.jpeg"));
        panel.add(lblSmiley);
    }
    else
    {
        JLabel lblSmiley = new JLabel(new ImageIcon("C:\\ . . . \\sadeface.png));
        panel.add(lblSmiley);
    }
} catch (Exception e1) {
    e1.printStackTrace();
}

2 个答案:

答案 0 :(得分:0)

可能它正在进入面板,但由于面板的尺寸,它可能会被放置在屏幕外。通过修改面板尺寸并将笑脸置于其中进行检查。

答案 1 :(得分:0)

看起来您每次都在加载图标并添加新标签。相反,您可以添加一次标签,然后像setIcon()一样调用Icon smile = new ImageIcon("C:\\…\\smileyface.jpeg"); Icon sad = new ImageIcon("C:\\…\\sadeface.png"); JLabel lblSmiley = new JLabel(); … frame.add(lblSmiley); … if (…) { lblSmiley.setIcon(smile); } else { lblSmiley.setIcon(sad); }

pack()

根据您的布局,您可能需要更改标签首选大小或在let trendingData = restApiManager.getLatest(pageNumber: 0, completion: { data -> Void in let item = data[indexPath.row] let url = NSURL(string: item.still) let data = NSData(contentsOf: url as! URL) if data != nil { cell.image.image = UIImage(data:data! as Data) } }) 窗口之前添加空标签。