Java游戏开发基础教程–面板类JPanel
aide吧
全部回复
仅看楼主
level 11
*面板类
*Java中的游戏面板类:JPanel
*自定义游戏的面板
*1.写一个类,继承JPanel
*2.写一个构造方法,初始化(确定)面板的属性
public class GamePanel extends JPanel{
//构造方法
public GamePanel(){
}
}
构造方法里可以加入图片BufferedImage
首先在类里声明一个用于存放背景图片的变量(盒子)BufferedImage
例如BufferedImage bg
然后构造方法里
bg = App.getImg("图片路径");
其中App是我封装的一个类,意图是方便
还可以设置背景色,设置一般都是set开头所以是
setBackground(Color.yellow);
这里为黄色
这是封装的类代码
public class App {
public static BufferedImage getImg(String path){
//声明一张图片
BufferedImage img =null;
try {
//尝试根据地址去找图片
img = ImageIO.read(App.class.getResource(path));
//如果找到了就返回图片
return img;
} catch (IOException e) {
//如果找不到就捕获找不到的原因
//下面代码输出找不到原因
e.printStackTrace();
}
return null;
}
}
2020年10月28日 18点10分 1
level 11
忘了说,面板类里的东西要显示到窗体类中需要画出来,则需要
paint这个方法
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
//绘制背景图片g.drawImage(需要绘制的图片, 图片的横坐标, 图片的纵坐标, null)
g.drawImage(bg, 0, 0, null);
//画图片时候,如果不加宽度和高度,画的是原图的大小
//如果你想改变图片的大小,可以使用以下格式
//g.drawImage(需要绘制的图片, 图片的横坐标, 图片的纵坐标, 图片的宽度, 图片的高度, null)
//g.drawImage(bg, 0, 0, 90, 220, null);
//设置画笔的颜色
g.setColor(Color.red);
//设置字体:最后一个数字表示字体大小,数字越大,文字越大
//设置字体:new Font("字体名称",字体样式,字体大小);
g.setFont(new Font("楷体",Font.BOLD,30));
//画文字g.drawString("文字内容", 横坐标, 纵坐标);
g.drawString("分数:0", 20, 30);
//画文字g.drawString("文字内容", 横坐标, 纵坐标);
g.drawString("子弹数:100", 300, 30);
}
2020年10月28日 18点10分 2
level 1
666
2021年02月08日 21点02分 3
1