本文实例为大家分享了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版数独游戏界面实现(二)