资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
皖西学院计算机科学与技术系实 验 报 告课程名称中国象棋打谱软件实验项目应用系统的面向对象设计与分析实验类型综合性实验完成人所在班级计科1003班指导教师苏守宝 教授完成日期2011年12月21日2实验报告正文一实验报告简表实验课题名称中国象棋打谱软件综合性实验项目应用系统的面向对象设计与分析服务课程面向对象设计与分析实验小组组长指导教师苏守宝 教授参与实验人员及其在实验课题中承担的主要任务(包括组长)学 号小组成员姓名班 级在实验课题中的主要作用计科1003组长计科1003组员计科1003组员二设计内容与要求三总体设计,包括需求分析、功能描述、设计工具与运行环境、类及类间关系描述等四详细设计,包括类图及代码等五实例运行及应用效果,包括测试数据、界面、输出结果与分析等六体会与总结,包括对所用知识点和关键方法的综合认识(注意:要求交纸质实验报告,同时将实验报告.doc、小组答辩.ppt及程序代码压缩email提交)Chess.javaimport 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(没
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号