使用Netbeans在Java应用程序中调整图像路径

时间:2013-12-30 22:04:05

标签: java swing user-interface netbeans

我有一个使用NetBeans IDE开发的java应用程序。我想用一个可变路径向我的gui添加一个图像。此路径可以使用的不同选项的数量将从数据库中填充,并且数量非常大,因此我不想将所有这些图像导入到我的Netbeans应用程序中。

我的图片代码:

jLabel9 = new javax.swing.JLabel();

jLabel9.setIcon(new     
javax.swing.ImageIcon(getClass().getResource("/images/defaultportrait.png"))); // NOI18N

jLabel9.setText("jLabel9");

desktopPane.add(jLabel9);
jLabel9.setBounds(520, 60, 170, 190);

我想这样,当我点击gui上的按钮时,图像源的路径发生了变化,图像在我的GUI上重新绘制。

示例:

private void jButton16ActionPerformed(java.awt.event.ActionEvent evt) {                                          
     AdjustPictureSource;
     RedrawImage;

}  

有没有人对此有任何想法。

另外,我提前道歉,我仍然是Java的新手。

谢谢!

1 个答案:

答案 0 :(得分:0)

调用repaint()调用paintComponent (Graphics g)方法,为您重绘。默认情况下,每个GUI都有一个此方法的实例,如果您希望绘制不同的内容,则可以覆盖它。通常,如果您不想在GUI顶部绘制线条,形状或文本,则不需要覆盖它。

至于更改图片的路径,您需要向GUI对象(例如按钮)添加侦听器,以使它们能够用Java执行任何操作。在actionPerformed(ActionEvent event)方法中,您可以输入获取新网址所需的代码。例如,您可以创建新的ImageIcon并调用setIcon的{​​{1}}方法。

作为一个侧面点,对于您多次使用的jLabel9课程(例如importJLabel等)通常会更好。

编辑:更完整的示例,使用匿名内部类:

ImageIcon