【问题标题】:Adjust Image path in GUI app in Java using Netbeans使用 Netbeans 在 Java 中调整 GUI 应用程序中的图像路径
【发布时间】:2013-12-30 22:04:05
【问题描述】:

我有一个使用 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 的新手。

谢谢!

【问题讨论】:

    标签: java swing user-interface netbeans


    【解决方案1】:

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

    至于改变图片的路径,你需要给GUI对象(比如按钮)添加监听器,让它们在Java中做任何事情。在 actionPerformed(ActionEvent event) 方法中,您可以放置​​获取新 URL 所需的代码。比如可以新建一个ImageIcon,调用jLabel9setIcon方法。

    顺便说一句,通常最好使用import 多次使用的类(例如JLabelImageIcon 等)

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

    JButton myButton = new JButton("Press Here!");
    myButton.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent event){
            jLabel9.setIcon(new ImageIcon("newPath"));
        }
    });
    

    【讨论】:

    • 你不应该调用 repaint,因为 setIcon 是一个绑定属性,这意味着它会自动导致 repaint...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 2014-08-08
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    相关资源
    最近更新 更多