用JAVA制作小游戏——推箱子(一)

本篇博客是对推箱子游戏首页代码的展示

效果图:

在这里插入图片描述

难点:

在背景图上添加按钮。
由于直接使用add方法,会变成图片一块区域,按钮一块区域,彼此互不重叠,形成的界面效果不太好,因此用了JLayeredPane
附:java 通过JLayeredPane实现背景图上添加其他控件

完整代码:

(代码比较简单,不再做过多的解释,每行基本都有注释,可以根据注释进行理解)

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class game_tui_1 extends JFrame implements ActionListener{
    
    
	JButton jb1=new JButton("开始游戏"); 
	JButton jb2=new JButton("地图编辑器");
	public game_tui_1() {
    
    
		JLayeredPane layeredPane=new JLayeredPane(); 
		ImageIcon image=new ImageIcon("shiyan4_image/background.png");  //图片路径,根据实际自行修改    
		JLabel jl=new JLabel(image);  
		jl.setBounds(0,0,image.getIconWidth(),image.getIconHeight());//设置jl的位置和大小
		jb1.setBounds(150,350,100,50);//jb1的位置和大小
		jb1.addActionListener(this);//jb1添加监听器
		jb1.setBackground(new Color(140,199,181));//设置jb1按钮的背景
		jb2.setBounds(350,350,100,50);//jb2的位置和大小
		jb2.addActionListener(this);//jb2添加监听器
		jb2.setBackground(new Color(140,199,181));//设置jb2按钮的背景
       //将jl放到最底层。                                    /*层次关系可见下面的注释*/
		layeredPane.add(jl,JLayeredPane.DEFAULT_LAYER);  
       //将jb1,jb2放到高一层的地方  
		layeredPane.add(jb1,JLayeredPane.MODAL_LAYER);  
		layeredPane.add(jb2,JLayeredPane.MODAL_LAYER); 
       //设置窗口属性
		this.setTitle("推箱子");//设置窗口题目
       this.setLayeredPane(layeredPane);//窗口添加layeredPane
       this.setSize(image.getIconWidth(),image.getIconHeight());//窗口大小
       this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);//窗口关闭
       this.setLocationRelativeTo(null); //窗口位置
       this.setResizable(false);//窗口不可最大化
       this.setVisible(true);//窗口可视
	}
	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		new game_tui_1();
	}
	@Override
	public void actionPerformed(ActionEvent e) {
    
    
		// TODO Auto-generated method stub
		if(e.getSource()==jb1) {
    
    /*new game_tui_2();dispose();*/}
		else {
    
    /*new game_tui_3();dispose();*/}
		//由于本篇博客单独讲解推箱子首页,因此对按钮跳转进行了注释处理,后面会有完整代码
	}
}
如有错误
欢迎指出

下一篇:用JAVA制作小游戏——推箱子(二)

猜你喜欢

转载自blog.csdn.net/zjl0409/article/details/112068001