gpt4 book ai didi

带 ImageIcon 的 Java 构造函数

转载 作者:行者123 更新时间:2023-12-01 16:17:53 24 4
gpt4 key购买 nike

我创建了一个小程序,通过构造函数将 ImageIcon(在另一个类中调整大小)插入到 JLabel 中我正在努力返回 JLabel 中的图标

这是我的代码:

主类:

        traforma imageObj = new traforma("image1.png"); //traforma is another class

ImageIcon Icon11 = new ImageIcon(imageObj.Icon11);

imageLabel.setIcon(Icon11); //Here he gives me error, he can't find my ' Icon11 '

traforma 类:

public class traforma {


public traforma(String image) {
ImageIcon Icon1 = new ImageIcon(getClass().getClassLoader().getResource(image));
Image image = Icon1.getImage();
Image newimg = image.getScaledInstance(470, 360, java.awt.Image.SCALE_SMOOTH);
ImageIcon Icon11 = new ImageIcon(newimg);

}
Object Icon11 = this.Icon11; // i guess the problem is here


}

我是 Java 新手,希望我已经说清楚了

最佳答案

这段代码没有任何意义:

Object Icon11 = this.Icon11;

问题是,您在方法中初始化的变量“Icon11”没有在任何地方使用。方法完成后,它将被丢弃。您可以做的是将创建的图标对象分配给 member 变量,而不是 local 变量。

你的代码风格并不完美:使用大小写、使用 ImageIcon 而不是直接加载图像等等。但是如果我们让它尽可能接近你的代码并尝试做最小的更改,工作代码可能如下所示:

public class traforma {

public traforma(String image) {
ImageIcon Icon1 = new ImageIcon(getClass().getClassLoader().getResource(image));
Image image = Icon1.getImage();
Image newimg = image.getScaledInstance(470, 360, java.awt.Image.SCALE_SMOOTH);
this.Icon11 = new ImageIcon(newimg);
}

public ImageIcon Icon11;

}

关于带 ImageIcon 的 Java 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62358117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com