java游戏暂停弹出字体_java GUI游戏界面问题 play,exit操作

1 packagedemo.choose;2

3 importjava.awt.Color;4 importjava.awt.Container;5 importjava.awt.Image;6 importjava.awt.event.MouseAdapter;7 importjava.awt.event.MouseEvent;8

9 importjavax.swing.ImageIcon;10 importjavax.swing.JDialog;11 importjavax.swing.JFrame;12 importjavax.swing.JLabel;13 importjavax.swing.JOptionPane;14

15 importdemo.start.GameStart;16 /**

17 * 初始界面类18 *@authorAdministrator19 *20 */

21 @SuppressWarnings("all")22 public class ChooseFunction extendsJFrame{23 public JDialog jd=newJDialog();24 public voidinit(){25 this.setSize(500, 800);//设置窗口的大小26 //设置窗口布局为null

27 this.setLayout(null);//把布局设置为空才能把组件位置设置为特殊位置

28 Container contain=getContentPane();//获取整个界面的容器

29 contain.setBackground(Color.BLACK);//设置界面的背景30 //加图标

31 this.setTitle("Airplane big war!!");32 this.setIconImage(new ImageIcon("./src/images/icon.png").getImage());33

34

35 //添加图片在上面

36 JLabel jl1=new JLabel(new ImageIcon("./src/images/play.gif"));//创建一个JLable用来放play图片

37 JLabel jl2=new JLabel(new ImageIcon("./src/images/exit.gif"));//创建一个JLable用来放exit图片

38 JLabel jl3=new JLabel(new ImageIcon("./src/images/war.gif"));//创建一个JLable用来放标题

39 JLabel jl4=new JLabel(new ImageIcon("./src/images/introduction.gif"));//创建一个JLable用来放说明40 //设置游戏的说明

41 jl4.setForeground(Color.RED);42 jl1.setBounds(160, 300, 200, 100);//开始图片的位置

43 jl2.setBounds(160, 400, 200, 100);//退出图片的位置

44 jl3.setBounds(0, 100,500, 120);//标题图片的位置

45 jl4.setBounds(100, 500,319,112);//功能介绍图片的位置

46 this.add(jl1);//把开始图片添加到框架中

47 this.add(jl2);//把退出图片添加到框架中

48 this.add(jl3);//把标题图盘添加到框架中

49 this.add(jl4);把说明图片添加到框架中50 //为play组件添加鼠标事件,把当前窗口传进去

51 jl1.addMouseListener(new PlayMouseListener(this));//为play添加鼠标事件52 //为exit组件添加鼠标事件

53 jl2.addMouseListener(new ExitMouseListener());//为exit添加鼠标事件54 //为introduction设置弹框

55 jl4.addMouseListener(new IntroduceMouseListener(this));//为说明添加鼠标事件

56 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗口关闭

57 this.setLocationRelativeTo(null);//把窗口的相对屏幕的位置居中显示

58 this.setVisible(true);//把窗口可视化

59 }60 //为游戏说明设置鼠标监听事件

61 public class IntroduceMouseListener extendsMouseAdapter{62

63 //把当前窗口创建出来

64 privateChooseFunction chooseFunction;65

66 publicIntroduceMouseListener(ChooseFunction chooseFunction) {67 this.chooseFunction =chooseFunction;68 }69 @Override70 public voidmouseEntered(MouseEvent e) {71 jd.setTitle("Airplane big war!!");//设置显示框的标题

72 jd.setIconImage(new ImageIcon("./src/images/icon.png").getImage());//设置显示框的图标73 //jd.setLocationRelativeTo(getOwner());//并没什么用74 //jd.setLocationRelativeTo(chooseFunction);//也并没什么用

75 jd.setBounds(415, 200, 450, 380);//设置标题框的位置和大小

76 /*ImageIcon icon = new ImageIcon("./src/images/reduce.gif");77 // icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),78 // icon.getIconHeight(), Image.SCALE_DEFAULT));79 JLabel lb = new JLabel();80 lb.setIcon(icon);*/

81 JLabel lb=new JLabel(new ImageIcon("./src/images/reduce.gif"));//创建一个JLable放说明的图片

82 jd.add(lb);//把JLable添加到说明框中

83 jd.setVisible(true);//设置说明框的可视化

84 }85 @Override86 public voidmouseExited(MouseEvent e) {87 jd.setVisible(false);//把说明框的可视化去掉

88 }89 }90 //为play组件添加鼠标事件做准备

91 public class PlayMouseListener extendsMouseAdapter{92 //把当前窗口创建出来

93 privateChooseFunction chooseFunction;94 //构造函数传值

95 publicPlayMouseListener(ChooseFunction chooseFunction) {96 this.chooseFunction =chooseFunction;97 }98 @Override99 public voidmouseClicked(MouseEvent e) {100 if(e.getButton()==1){101 //把当前窗口隐藏

102 chooseFunction.setVisible(false);103 //调用下一个窗口的初始界面

104 new GameStart("images/sky.gif");105 }106

107 }108 }109

110 //为exit组件添加鼠标事件做准备

111 public class ExitMouseListener extendsMouseAdapter{112 @Override113 public voidmouseClicked(MouseEvent e) {114 if(e.getButton()==1){115 int n=JOptionPane.showConfirmDialog(null, "你确定退出吗?");116 if(n==0){117 System.exit(0);118 }119 }120 }121

122 }123 //主函数入口

124 public static voidmain(String[] args) {125 newChooseFunction().init();126 }127 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值