首页 > 编程知识 正文

五子棋绘制棋盘,五子棋盘画法

时间:2023-05-05 13:03:54 阅读:262697 作者:2647

package fivechess; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; /** * 棋盘类,用来绘制棋盘 * * @author Administrator * */ public class ChessBoard extends JFrame implements ActionListener { private GraphicPanel panel; private JMenuBar bar; private JMenu game; public static JLabel label; public static final int DEFAULT_WIDTH = 650; public static final int DEFAULT_HEIGHT = 680; public ChessBoard() { super("五子棋 v1.1"); label = new JLabel(" ", JLabel.CENTER); panel = new GraphicPanel(); this.add(panel, BorderLayout.CENTER); this.add(label, BorderLayout.SOUTH); bar = new JMenuBar(); game = new JMenu("游戏"); JMenuItem item = null; game.add(item = new JMenuItem("重新开始")); item.addActionListener(this); game.add(item = new JMenuItem("保存游戏...")); item.addActionListener(this); game.add(item = new JMenuItem("装载游戏...")); item.addActionListener(this); game.addSeparator(); game.add(item = new JMenuItem("退出")); item.addActionListener(this); bar.add(game); this.setJMenuBar(bar); this.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("保存游戏...")) { // 1,弹出保存文件对话框 JFileChooser jfc = new JFileChooser(); jfc.showSaveDialog(this); // 2,获得用户选择的文件 File f = jfc.getSelectedFile(); // 3,调用 if (f != null) { if (panel.saveToFile(f)) { JOptionPane.showMessageDialog(this, "保存成功!"); } else { JOptionPane.showMessageDialog(this, "保存文件失败!"); } } return; } if (e.getActionCommand().equals("装载游戏...")) { // 1,弹出打开文件对话框 JFileChooser jfc = new JFileChooser(); jfc.showOpenDialog(this); // 2,获得用户选择的文件 File f = jfc.getSelectedFile(); // 3,调用 if (f != null) { if (!panel.loadFromFile(f)) { JOptionPane.showMessageDialog(this, "文件格式不正确或已损坏!"); } } return; } if (e.getActionCommand().equals("重新开始")) { panel.clear(); } if (e.getActionCommand().equals("退出")) { System.exit(0); } } public static void main(String[] args) { new ChessBoard(); } }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。