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

📄 chess.java

📁 本文件包中包含了15个java课程设计。对java学习是很不错的。
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package 中国象棋打谱系统;/** * * @author Administrator */import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.LinkedList;public class Chess extends JFrame implements ActionListener{  ChessBoard board=null;  Demon demon=null;  MakeChessManual record=null;  Container con=null;  JMenuBar bar;  JMenu fileMenu;  JMenuItem 制作棋谱,保存棋谱,演示棋谱;  JFileChooser fileChooser=null;  LinkedList 棋谱=null;  public Chess()   {       bar=new JMenuBar();      fileMenu=new JMenu("中国象棋");      制作棋谱=new JMenuItem("制作棋谱");      保存棋谱=new JMenuItem("保存棋谱");      演示棋谱=new JMenuItem("演示棋谱");      fileMenu.add(制作棋谱);      fileMenu.add(保存棋谱);      fileMenu.add(演示棋谱);      bar.add(fileMenu);      setJMenuBar(bar);      setTitle(制作棋谱.getText());      制作棋谱.addActionListener(this);      保存棋谱.addActionListener(this);      演示棋谱.addActionListener(this);      board=new ChessBoard(45,45,9,10);      record=board.record;      con=getContentPane();      JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,board,record);      split.setDividerSize(5);      split.setDividerLocation(460);      con.add(split,BorderLayout.CENTER);       addWindowListener(new WindowAdapter()                 { public void windowClosing(WindowEvent e)                     { System.exit(0);      	             }                 });      setVisible(true);      setBounds(60,20,670,540);      fileChooser=new JFileChooser();      con.validate();      validate();   }  public void actionPerformed(ActionEvent e)   {      if(e.getSource()==制作棋谱)        {         con.removeAll();          保存棋谱.setEnabled(true);         this.setTitle(制作棋谱.getText());         board=new ChessBoard(45,45,9,10);         record=board.record;         JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,board,record);         split.setDividerSize(5);         split.setDividerLocation(460);         con.add(split,BorderLayout.CENTER);          validate();       }        if(e.getSource()==保存棋谱)        {          int state=fileChooser.showSaveDialog(null);         File saveFile =fileChooser.getSelectedFile();          if(saveFile!=null&&state==JFileChooser.APPROVE_OPTION)               {try                   {                    FileOutputStream outOne=new FileOutputStream(saveFile);                    ObjectOutputStream outTwo=new ObjectOutputStream(outOne);                    outTwo.writeObject(record.获取棋谱()) ;                    outOne.close();                    outTwo.close();                   }                catch(IOException event)                   {                   }                }       }     if(e.getSource()==演示棋谱)        {                    con.removeAll();           con.repaint();           con.validate();            validate();         保存棋谱.setEnabled(false);                  int state=fileChooser.showOpenDialog(null);         File openFile =fileChooser.getSelectedFile();          if(openFile!=null&&state==JFileChooser.APPROVE_OPTION)               {try                   {                    FileInputStream inOne=new FileInputStream(openFile);                    ObjectInputStream inTwo=new ObjectInputStream(inOne);                    棋谱=(LinkedList)inTwo.readObject() ;                    inOne.close();                    inTwo.close();                    ChessBoard board=new ChessBoard(45,45,9,10);                    demon=new Demon(board);                    demon.set棋谱(棋谱);                    con.add(demon,BorderLayout.CENTER);                    con.validate();                     validate();                    this.setTitle(演示棋谱.getText()+":"+openFile);                    }                catch(Exception event)                   {                      JLabel label=new JLabel("不是棋谱文件");                      label.setFont(new Font("隶书",Font.BOLD,60));                      label.setForeground(Color.red);                       label.setHorizontalAlignment(SwingConstants.CENTER);                      con.add(label,BorderLayout.CENTER);                      con.validate();                       this.setTitle("没有打开棋谱");                       validate();                   }                }           else              {                JLabel label=new JLabel("没有打开棋谱文件呢");                label.setFont(new Font("隶书",Font.BOLD,50));                label.setForeground(Color.pink);                 label.setHorizontalAlignment(SwingConstants.CENTER);                con.add(label,BorderLayout.CENTER);                con.validate();                 this.setTitle("没有打开棋谱文件呢");                 validate();                }       }   }  public static void main(String args[])   {      new Chess();   }}

⌨️ 快捷键说明

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