OptionBoard.java
上传用户:jennyfly
上传日期:2021-08-10
资源大小:735k
文件大小:3k
源码类别:

游戏

开发平台:

Java

  1. package view;
  2. import java.awt.Color;
  3. import java.awt.Dimension;
  4. import java.awt.event.ActionListener;
  5. import javax.swing.BorderFactory;
  6. import javax.swing.ImageIcon;
  7. import javax.swing.JButton;
  8. import javax.swing.JLabel;
  9. import javax.swing.JPanel;
  10. public class OptionBoard  extends JPanel {
  11. /* 序列号 */
  12. private static final long serialVersionUID = 1L;
  13. private ImageIcon iLoad;
  14. private ImageIcon iNew;
  15. private ImageIcon iQuit;
  16. private ImageIcon iBack;
  17. private InfoBoard info; // pane 实例
  18.         private JLabel initBackground;//背景
  19.         
  20. private JButton load; // 装载按钮
  21. private JButton newGame;// 新游戏按钮
  22. private JButton quit;// 退出按钮
  23. /**
  24.  * initPanel的构造方法 initPanel的构造方法将所有的控件合理的安排到面板上并设置背景色,边框和大小
  25.  */
  26. public OptionBoard() {
  27. // 布局管理器设置为空,因此布局全部手工完成
  28. setLayout(null);
  29. setBackground(new Color(0, 0, 0));// 背景色
  30. setBorder(BorderFactory.createEtchedBorder());// 设置边框
  31. setPreferredSize(new Dimension(820, 553));// 设置大小
  32. /*
  33.  * 创建各组件并加到contePane上去,如果不加到容器上去的话, 即使你设置了他们的边框他们也不会出现
  34.  */
  35. info = new InfoBoard();// 创建pane
  36. add(info);// 加入initPanel
  37. // 创建分别设置四个按钮的监听器,提示语并添加至面板
  38. // 这里不能使用toolkit的方法,因为打成jar包的时候按钮上的图标会因此丢失
  39. // 这是eclipse本身的问题
  40. initComp();
  41. add(newGame);// 添加至面板
  42. add(load);// 添加至面板
  43. add(quit);// 添加至面板
  44.             initBackground=new JLabel(iBack);
  45.             add(initBackground);
  46. // 设置控件的具体位置
  47.             initBackground.setBounds(400,0,420,553);
  48. info.setBounds(0, 0, 400, 553);
  49. newGame.setBounds(600, 170, 120, 40);
  50. load.setBounds(600, 270, 120, 40);
  51. quit.setBounds(600, 370, 120, 40);
  52. }
  53. /**
  54.  * 为面板里的空间添加监听器
  55.  * @param obj
  56.  * 监听器对象
  57.  */
  58. public void addController(Object obj){
  59. if(obj instanceof ActionListener){
  60. ActionListener al=(ActionListener)obj;
  61. load.addActionListener(al);
  62. newGame.addActionListener(al);
  63. quit.addActionListener(al);
  64. }
  65. }
  66. private void initComp(){
  67. iLoad=new ImageIcon(ImageLoader.getImage("load.jpg"));
  68. iNew =new ImageIcon(ImageLoader.getImage("start.jpg"));
  69. iQuit=new ImageIcon(ImageLoader.getImage("quit.jpg"));
  70. iBack=new ImageIcon(ImageLoader.getInitBackground());
  71. newGame = new JButton("<html><font color=blue>新游戏</font></html>",
  72. iNew);// 创建新游戏按钮
  73. newGame.setActionCommand("enter");
  74. newGame.setToolTipText("开始游戏");// 设置提示语
  75. newGame.setOpaque(true);//设置透明
  76. load = new JButton("<html><font color=blue>加 载</font></html>",
  77. iLoad);// 创建装载按钮
  78. load.setActionCommand("load");
  79. load.setToolTipText("装载游戏");// 设置提示语
  80. load.setOpaque(true);
  81. quit = new JButton("<html><font color=blue>退   出</font></html>",
  82. iQuit);// 创建退出按钮
  83. quit.setActionCommand("cancel");
  84. quit.setToolTipText("退出游戏");// 设置提示语
  85. quit.setOpaque(true);
  86. }
  87. }