java版数独游戏界面实现(二)

  

本文实例为大家分享了java版数独游戏界面实现的具体代码,供大家参考,具体内容如下

  

实现效果图:

  

这里写图片描述

  

主函数用于启动程序:

        包hlc.shudu.app;      进口hlc.shudu.src.ShuduHelper;   进口hlc.shudu.ui.ShuduMainFrame;      公开课AppStart {      公共静态void main (String [] args) {   ShuduMainFrame大型机=new ShuduMainFrame ();   mainFrame.setVisible(真正的);      }   }      之前      

主窗体类(包含消息区,时间区,游戏区):

  

        包hlc.shudu.ui;      进口java.awt.BorderLayout;   进口java.awt.Color;   进口属性;   进口java.awt.GridLayout;   进口java.awt.event.ActionEvent;   进口java.awt.event.ActionListener;   进口java.sql.Time;   进口java.text.SimpleDateFormat;      javax . swing . icon;进口   进口javax.swing.ImageIcon;   进口javax.swing.JButton;   进口javax.swing.JFrame;   进口javax.swing.JLabel;   进口javax.swing.JPanel;   进口javax.swing.JTextField;   进口javax.swing.Timer;   进口javax.swing.border.TitledBorder;/*   *数独主窗体   */公开课ShuduMainFrame延伸JFrame {      公共静态int通过=1;//关卡   公共静态JLabel lbPass;//显示关卡的标签   公共静态长usedTime=0;//玩家用时   私人ShuduCanvers panelCanvers;//主游戏区   公共静态计时器userTimeAction;/*   *默认构造函数   */公共ShuduMainFrame () {//初始化方法   init ();//添加组件   addComponent ();//添加主游戏区   addCanvers ();      }/*   *添加主游戏区   */私人空间addCanvers () {   panelCanvers=new ShuduCanvers ();   panelCanvers。setBorder(新TitledBorder(“游戏区”));//将主游戏区添加到窗体中   这一点。add (panelCanvers BorderLayout.CENTER);      }/*   *添加组件区   */私人空间addComponent () {   JPanel panelComponent=new JPanel ();//添加消息区   addPanelMsg (panelComponent);//添加时间区   addPanelTime (panelComponent);//将组件添加到窗体顶部   这一点。add (panelComponent BorderLayout.NORTH);      }      私人空间addPanelTime (JPanel panelComponent) {   JPanel panelTime=new JPanel ();   panelTime。setBorder(新TitledBorder(“时间"));   panelTime。setLayout(新GridLayout (2, 1));      最后一个JLabel lbSysTime=new JLabel ();   最后一个JLabel lbUserTime=new JLabel ();      panelTime。add (lbSysTime BorderLayout.NORTH);   panelTime。add (lbUserTime BorderLayout.SOUTH);//设置系统时间定时器   计时器sysTimeAction=new计时器(500年,新的ActionListener () {      @Override   公共空间actionPerformed (ActionEvent e) {   长timeMillis=System.currentTimeMillis ();   SimpleDateFormat df=new SimpleDateFormat (   “yyyy-MM-dd HH: mm: ss”);   lbSysTime。setText(“系统时间:“+ df.format (timeMillis));   }   });   sysTimeAction.start ();   userTimeAction=new计时器(1000年,新的ActionListener () {      @Override   公共空间actionPerformed (ActionEvent e) {   lbUserTime。setText(“您已用时:“+ (+ + usedTime) +“秒。”);   }   });   userTimeAction.start ();      panelComponent。add (panelTime BorderLayout.EAST);      }/*   *添加消息区   */私人空间addPanelMsg (JPanel panelComponent) {//panelComponent。setBorder(新TitledBorder(“消息区”));   panelComponent。setLayout(新GridLayout (1、3));   字体font14=new字体(“4 14);   字体font28=new字体(“2 28);      JPanel panelMsg=new JPanel ();   panelMsg。setBorder(新TitledBorder(“消息区”));      JLabel lbPass1=new JLabel(“关卡:第”);   lbPass1.setFont (font14);   panelMsg.add (lbPass1);//显示关卡数   lbPass=new JLabel(" +通过);   lbPass.setForeground (Color.RED);   lbPass.setFont (font28);   panelMsg.add (lbPass);      JLabel lbPass2=new JLabel(“关/总共十关”);   lbPass2.setFont (font14);   panelMsg.add (lbPass2);   panelComponent。add (panelMsg BorderLayout.CENTER);      }/*   *界面初始化   */私人空间init () {   ImageIcon图像=new ImageIcon(”图标/程序”);   this.setIconImage (image.getImage ());//设置窗口初始大小   这一点。setSize (515、600);//设置窗口初始位置   这一点。setLocation(500年,50);//设置窗口标题   this.setTitle(“数独游戏(按:侯龙超)");//设置窗体不允许改变大小   this.setResizable(假);//设置默认关闭操作   this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);   }   }      

java版数独游戏界面实现(二)