⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.java

📁 八皇后源代码 JAVA课设 应该满足您的要求
💻 JAVA
字号:
/*
 * Frame.java
 *
 * Created on 2008年3月2日, 下午11:55
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package eight;
import java.io.*;
import java.util.LinkedList;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.JComponent;
import javax.swing.JMenuBar;
/**
 *
 * @author 刘杨
 */
public class Menu implements ActionListener{
    File file4=new File("file4.txt");
    File file5=new File("file5.txt");
    File file6=new File("file6.txt");
    File file7=new File("file7.txt");
    File file8=new File("file8.txt");
    File file9=new File("file9.txt");
    File file10=new File("file10.txt");
    File file11=new File("file11.txt");
    File file12=new File("file12.txt");
    
    LinkedList achivement=null;
    
    Record record;
    ShowRecord showrecord;
    JMenuBar MenuBar=new JMenuBar();
    
    JMenu 游戏=new JMenu("游戏");
    JMenu 帮助=new JMenu("帮助");
    JMenuItem menu11=new JMenuItem("新建");
    JMenu menu12=new JMenu("难度");
    JMenuItem menu13=new JMenuItem("英雄榜");
    JMenuItem menu14=new JMenuItem("提示");
    JMenuItem menu15=new JMenuItem("退出");
    JMenuItem menu21=new JMenuItem("帮助主题");
    JMenuItem menu22=new JMenuItem("关于");
    
    JMenuItem menu121=new JMenuItem("4*4");
    JMenuItem menu122=new JMenuItem("5*5");
    JMenuItem menu123=new JMenuItem("6*6");
    JMenuItem menu124=new JMenuItem("7*7");
    JMenuItem menu125=new JMenuItem("8*8");
    JMenuItem menu126=new JMenuItem("9*9");
    JMenuItem menu127=new JMenuItem("10*10");
    JMenuItem menu128=new JMenuItem("11*11");
    JMenuItem menu129=new JMenuItem("12*12");
    
    private ChessPanel panel;
    private int time;
    private JLabel 显示时间=null;
    public Timer 计时器=null;
    private boolean 计时器是否启动=false;
    private Chess[][] ChessButton;
    /** Creates a new instance of Frame */
    public Menu(ChessPanel panel) {
        
        this.panel=panel;
        
        计时器=new Timer(1000,this);
        显示时间=new JLabel();
        
        MenuBar.add(游戏);
        MenuBar.add(帮助);
        MenuBar.add(显示时间);
        
        游戏.setFont(new java.awt.Font("华文新魏", 1, 25));
        帮助.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu11.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu12.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu121.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu122.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu123.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu124.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu125.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu126.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu127.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu128.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu129.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu13.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu14.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu15.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu21.setFont(new java.awt.Font("华文新魏", 1, 25));
        menu22.setFont(new java.awt.Font("华文新魏", 1, 25));
        显示时间.setFont(new java.awt.Font("华文新魏", 1, 20));
        
        menu11.setBackground(Color.white);
        menu12.setBackground(Color.white);
        menu121.setBackground(Color.white);
        menu122.setBackground(Color.white);
        menu123.setBackground(Color.white);
        menu124.setBackground(Color.white);
        menu125.setBackground(Color.white);
        menu126.setBackground(Color.white);
        menu127.setBackground(Color.white);
        menu128.setBackground(Color.white);
        menu129.setBackground(Color.white);
        menu13.setBackground(Color.white);
        menu14.setBackground(Color.white);
        menu15.setBackground(Color.white);
        menu21.setBackground(Color.white);
        menu22.setBackground(Color.white);
        MenuBar.setBackground(Color.white);
        显示时间.setBackground(Color.white);
        
        游戏.add(menu11);
        游戏.add(menu12);
        游戏.add(menu13);
        游戏.add(menu14);
        游戏.add(menu15);
        帮助.add(menu21);
        帮助.add(menu22);
        
        menu12.add(menu121);
        menu12.add(menu122);
        menu12.add(menu123);
        menu12.add(menu124);
        menu12.add(menu125);
        menu12.add(menu126);
        menu12.add(menu127);
        menu12.add(menu128);
        menu12.add(menu129);
        
        menu11.addActionListener(this);
        menu13.addActionListener(this);
        menu14.addActionListener(this);
        menu15.addActionListener(this);
        menu121.addActionListener(this);
        menu122.addActionListener(this);
        menu123.addActionListener(this);
        menu124.addActionListener(this);
        menu125.addActionListener(this);
        menu126.addActionListener(this);
        menu127.addActionListener(this);
        menu128.addActionListener(this);
        menu129.addActionListener(this);
        menu21.addActionListener(this);
        menu22.addActionListener(this);
        this.ChessButton=panel.ChessButton;
        for(int i=0;i<12;i++){
            for(int j=0;j<12;j++) {
                ChessButton[i][j].addActionListener(this);
            }
        }
        achivement=new LinkedList();
        this.createfile();
        
    }
    
    public void actionPerformed(ActionEvent e){
        if(e.getSource()==menu11){
            panel.setpanel(panel.getm());
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu121){
            panel.setpanel(4);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu122){
            panel.setpanel(5);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu123){
            panel.setpanel(6);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu124){
            panel.setpanel(7);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu125){
            panel.setpanel(8);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu126){
            panel.setpanel(9);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu127){
            panel.setpanel(10);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu128){
            panel.setpanel(11);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        else if(e.getSource()==menu129){
            panel.setpanel(12);
            time=0;
            计时器是否启动=false;
            计时器.stop();
            显示时间.setText("所用时间:0秒");
        }
        
        if(e.getSource()==menu13){
            showrecord=new ShowRecord(file4,file5,file6,file7,
                    file8,file9,file10,file11,file12);
            showrecord.setVisible(true);
        }
        
        if(e.getSource()==menu14){
            panel.searchflict();
        }
        
        if(e.getSource()==menu15){
            System.exit(0);
        }
        
        if(e.getSource()==menu21){
            Help help=new Help();
            help.setVisible(true);
        }
        
        if(e.getSource()==menu22){
            About about=new About();
            about.setVisible(true);
        }
        
        if(e.getSource() instanceof Chess){
            if(计时器是否启动==false){
                time=0;
                计时器.start();
                计时器是否启动=true;
            }
            for(int i=0;i<12;i++){
                for(int j=0;j<12;j++) {
                    if(e.getSource()==ChessButton[i][j]){
                        ChessButton[i][j].act(i,j);
                        if(panel.getsuccess()==true){
                            计时器.stop();
                            if(panel.getm()==4)
                                record=new Record(file4,panel,显示时间);
                            if(panel.getm()==5)
                                record=new Record(file5,panel,显示时间);
                            if(panel.getm()==6)
                                record=new Record(file6,panel,显示时间);
                            if(panel.getm()==7)
                                record=new Record(file7,panel,显示时间);
                            if(panel.getm()==8)
                                record=new Record(file8,panel,显示时间);
                            if(panel.getm()==9)
                                record=new Record(file9,panel,显示时间);
                            if(panel.getm()==10)
                                record=new Record(file10,panel,显示时间);
                            if(panel.getm()==11)
                                record=new Record(file11,panel,显示时间);
                            if(panel.getm()==12)
                                record=new Record(file12,panel,显示时间);
                            record.setTime(time);
                            record.setVisible(true);
                            panel.frame.setEnabled(false);
                            time=0;
                            计时器是否启动=false;
                        }
                    }
                }
                
            }
        }
        if(e.getSource()==计时器){
            time+=1;
            显示时间.setText("所用时间:"+time+"秒");
        }
    }
    
    private void createfile() {
        if(!file4.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file4.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
        if(!file5.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file5.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
        if(!file6.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file6.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
        if(!file7.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file7.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
        if(!file8.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file8.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
        if(!file9.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file9.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
        if(!file10.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file10.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
        if(!file11.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file11.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
        if(!file12.exists()){
            try{
                FileOutputStream out=new FileOutputStream("file12.txt");
                ObjectOutputStream object_out=new ObjectOutputStream(out);
                object_out.writeObject(achivement);
                object_out.close();
                out.close();
            } catch(IOException e){}
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -