-KtsFrame.java-
package ui;
import java.awt.MediaTracker;
import java.awt.Image;
import java.io.IOException;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class KtsFrame extends JFrame{
/**
* 关于游戏窗体的一个类
*/
private static final long serialVersionUID = 1L;
public KtsFrame() throws IOException{
setTitle("ProSystem For Java");
setSize(500, 500);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[]args) throws IOException {
KtsFrame frame = new KtsFrame();
KtsPanel panel = new KtsPanel();
Image icon=(new ImageIcon("src/img/ProSystem.ico")).getImage();
frame.setIconImage(icon);
frame.add(panel);
frame.setVisible(true);
}
}
-KtsPanel.java-
package ui;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.swing.JPanel;
public class KtsPanel extends JPanel {
/**
* 关于游戏面板的一个类
*/
private BufferedImage bg;
private static final long serialVersionUID = 1L;
public KtsPanel() throws IOException {
setBackground(Color.gray);
try {
bg = KtsApp.getImg("/img/右上角地图.png");
}
catch(IOException e) {
e.printStackTrace();
}
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(bg, 0, 0, 500, 500,null);
}
}
-KtsApp.java-
package ui;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
public class KtsApp {
public static BufferedImage getImg(String path) throws IOException {
try {
BufferedImage img = ImageIO.read(KtsApp.class.getResource(path));
return img;
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
这些出现了程序图标无法设置的问题,我尝试了使用各种类型的图标,但是却仍然还是无法更改默认图标,我实在是无能为力了,在这里我会征集广码友的建议的。