これを使用してJavaアイコンとタイトルバーアイコンを変更しようとしています
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
import java.awt.KeyboardFocusManager;
import java.awt.Toolkit;
import java.util.Collections;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
@SuppressWarnings("all")
public class GameFrame extends JFrame
{
JFrame frame = new JFrame();
String title = Config.clientName + " Revision: " + Config.Revision + " Made by: " + Config.developerName;
String betaTitle = Config.clientName + " Beta "+ "Revision: " + Config.Revision + " Made by: " + Config.developerName;
String alphaTitle = Config.clientName + " Alpha "+ "Revision: " + Config.Revision + " Made by: " + Config.developerName;
public GameFrame(GameShell rsapplet, int width, int height, boolean undecorative, boolean resizable) {
rsApplet = rsapplet;
//Config.ConfigLoad();
if (Config.beta == 3){
setTitle(alphaTitle);
} else {
setTitle(Config.beta == 1 ? title:betaTitle);
}
setIconImage(getToolkit().getImage(getClass().getResource(Signlink.findcachedir()+"/Sprites/Icons/icon.jpeg")));
// //String imgURL = signlink.spritesLocation() + "this.jpg";
// try {
// setIconImage(new ImageIcon(imgURL).getImage());
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
setUndecorated(undecorative);
setResizable(resizable);
setVisible(true);
Insets insets = this.getInsets();
setSize(width + insets.left + insets.right, height + insets.top + insets.bottom);//28
setLocation((screenWidth - width) / 2, (screenHeight - height) / 2);
setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);
setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);
requestFocus();
toFront();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBackground(Color.BLACK);
}
public int getFrameWidth() {
Insets insets = this.getInsets();
return getWidth() - (insets.left + insets.right);
}
public int getFrameHeight() {
Insets insets = this.getInsets();
return getHeight() - (insets.top + insets.bottom);
}
public GameFrame(GameShell rsapplet, int width, int height) {
this(rsapplet, width, height, false,false);
}
public Graphics getGraphics() {
Graphics g = super.getGraphics();
Insets insets = this.getInsets();
g.translate(insets.left ,insets.top);
return g;
}
public void update(Graphics g)
{
rsApplet.update(g);
}
public void paint(Graphics g)
{
rsApplet.paint(g);
}
private final GameShell rsApplet;
public Toolkit toolkit = Toolkit.getDefaultToolkit();
public Dimension screenSize = toolkit.getScreenSize();
public int screenWidth = (int)screenSize.getWidth();
public int screenHeight = (int)screenSize.getHeight();
}
しかし、クライアントを実行するとこのエラーが発生します。何が間違っているのでしょうか?
[CLIENT]: クライアント フレームが初期化されました... イメージのフェッチ中にキャッチされないエラーが発生しました: sun.awt.image.URLImageSource.getConnection(URLImageSource.java:115) で java.lang.NullPointerException が発生しました。 java:125) で sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:263) で sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205) で sun.awt.image.ImageFetcher.run(ImageFetcher)ジャワ:169)