我尝试创建一段代码,按下按钮时会显示笑脸或悲伤的脸部,具体取决于某些值,但它只是不会显示图像。我知道它肯定会超越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();
}
答案 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)
}
})
窗口之前添加空标签。