import javax.swing.ImageIcon;
import java.awt.Image;
import java.net.URL;
import javax.swing.JFrame;
public class ChangeTitleIconFrame extends JFrame {
public static void main(String[] args) {
ChangeTitleIconFrame frame = new ChangeTitleIconFrame();
}
public ChangeTitleIconFrame() {
super();
setTitle("改变窗体标题图标");
setBounds(100,100,280,160);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
URL url = ChangeTitleIconFrame.class.getResource("/image/icon.jpg");
ImageIcon imageIcon = new ImageIcon(url);//错误就在这里。不要这里的两句(和下一句),程序运行正常。
Image image = imageIcon.getImage();
setIconImage(image);
setVisible(true);
}
错误:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at ChangeTitleIconFrame.<init>(ChangeTitleIconFrame.java:16)
at ChangeTitleIconFrame.main(ChangeTitleIconFrame.java:7)}
import java.awt.Image;
import java.net.URL;
import javax.swing.JFrame;
public class ChangeTitleIconFrame extends JFrame {
public static void main(String[] args) {
ChangeTitleIconFrame frame = new ChangeTitleIconFrame();
}
public ChangeTitleIconFrame() {
super();
setTitle("改变窗体标题图标");
setBounds(100,100,280,160);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
URL url = ChangeTitleIconFrame.class.getResource("/image/icon.jpg");
ImageIcon imageIcon = new ImageIcon(url);//错误就在这里。不要这里的两句(和下一句),程序运行正常。
Image image = imageIcon.getImage();
setIconImage(image);
setVisible(true);
}
错误:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at ChangeTitleIconFrame.<init>(ChangeTitleIconFrame.java:16)
at ChangeTitleIconFrame.main(ChangeTitleIconFrame.java:7)}
出的错。
URL 示例指示使用的协议为 http URL 可选择指定一个“端口”,但你的这个路径好像不是互联网的路径吧。
也就是如果你用的是本地的图片,不应该用URL类。
那如果是要改的话,怎么改合适啊?请教了,谢谢!
也就是放在class文件夹下。把image文件夹复制过去
import javax.swing.ImageIcon;
import java.awt.Image;
import javax.swing.JFrame;public class ChangeTitleIconFrame extends JFrame {
public static void main(String[] args) {
ChangeTitleIconFrame frame = new ChangeTitleIconFrame();
} public ChangeTitleIconFrame() {
super();
setTitle("改变窗体标题图标");
setBounds(100, 100, 280, 160);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon imageIcon = new ImageIcon("/image/icon.jpg");
Image image = imageIcon.getImage();
setIconImage(image);
setVisible(true);
}
}