我已经在Java中编写了一个applet,作为我的编程类的一部分,它需要一个人的生日,并找到他们出生的那一周的哪一天。根据作业规格,我们也将这个小程序放在我们的Amazon EC2虚拟服务器上。Java Swing图像不显示?
现在,当从JTable中选择人员时,程序会将其信息以及位于JTable旁边的图像文件的路径放在其信息旁边。因此,例如,您可以选择组成:
| John Doe | 17 | 02 | 2013 | /images/John.jpg |
当我在我的本地机器上运行这个时,一切都按预期工作 - 计算日期并显示图像。然而,当我把它放在我的服务器上,两种情况之一发生:
- 如果我把“显示日期”代码“显示图片”代码之前,然后当我按下“计算”按钮,只文字显示和图像不显示。
- 如果我把“显示图像”代码放在“显示日期”代码之前,当我按下“计算”按钮时没有任何反应。
这里可能会发生什么情况?我的图片仍然处于“images/Name.jpg”路径中,我甚至尝试使用整个路径(“https://myUsername.course.ca/assignment/images/Name.jpg”)。都不行!这种奇怪的行为会有什么明显的原因吗?
/**
* Method that handles the user pressing the "Calculate" button
*/
private class btnCalculateHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
int result;
name = (String)table.getValueAt(table.getSelectedRow(), 0);
day = Integer.parseInt((String)table.getValueAt(table.getSelectedRow(), 1));
month = Integer.parseInt((String)table.getValueAt(table.getSelectedRow(), 2));
year = Integer.parseInt((String)table.getValueAt(table.getSelectedRow(), 3));
result = calculateDayOfWeek(day, month, year);
writeToFile();
ImageIcon imgPerson = new javax.swing.ImageIcon((String)table.getValueAt(table.getSelectedRow(), 4));
Image person = imgPerson.getImage();
Image personResized = person.getScaledInstance(75, 100, java.awt.Image.SCALE_SMOOTH);
ImageIcon imgPersonResized = new ImageIcon(personResized);
image.setIcon(imgPersonResized);
outputValue.setText(name + " was born on a " + days[result] + ".");
}
}
*“这种奇怪行为的任何明显的原因?”* - 您的代码有问题。但是,由于你没有看到适合分享这一点,所以可以猜测这门课程,我宁愿不浪费你的时间前后推进课程。 – MadProgrammer 2013-02-18 01:52:12
附加到原帖是我觉得与问题最相关的代码(即实际处理计算的代码)。如果你需要别的东西,只需告诉我。 – user41419 2013-02-18 01:54:28
请修改您的问题以包含展示您描述的问题的[sscce](http://sscce.org/)。 – trashgod 2013-02-18 02:05:46