首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Netbeans的Java GUI应用程序中图像路径的调整

基于Netbeans的Java GUI应用程序中图像路径的调整
EN

Stack Overflow用户
提问于 2013-12-30 22:04:05
回答 1查看 251关注 0票数 0

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

我的形象代码是:

代码语言:javascript
复制
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上。

示例:

代码语言:javascript
复制
private void jButton16ActionPerformed(java.awt.event.ActionEvent evt) {                                          
     AdjustPictureSource;
     RedrawImage;

}  

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

另外,我事先很抱歉,我仍然是Java方面的新手。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-30 22:08:26

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

至于更改图片的路径,您需要将侦听器添加到GUI对象(例如按钮)中,以便让它们在Java中执行任何操作。在actionPerformed(ActionEvent event)方法中,您可以将获取新URL所需的代码放入其中。例如,您可以创建一个新的ImageIcon并调用jLabel9setIcon方法。

另外一点是,对于您多次使用的import类(如JLabelImageIcon等),通常更好。

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

代码语言:javascript
复制
JButton myButton = new JButton("Press Here!");
myButton.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
        jLabel9.setIcon(new ImageIcon("newPath"));
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20848316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档