package chess.view; import java.awt.BorderLayout; import java.awt.Color; 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; import javax.swing.JPanel; public class ChessBoard extends JFrame implements ActionListener { private GraphicPanel panel;// 棋盘 private JMenuBar bar;// 菜单条 private JMenu game, help;// 菜单 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("游戏"); help = 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); help.add(item = new JMenuItem("关于游戏")); item.addActionListener(this); panel.setBackground(Color.MAGENTA); bar.add(game); bar.add(help); this.setBackground(Color.LIGHT_GRAY); this.setJMenuBar(bar); // this.setBackground(Color.ORANGE); } public void showMe() { this.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("保存游戏")) { JFileChooser jfc = new JFileChooser(); jfc.showSaveDialog(this);// 保存对话框 File f = jfc.getSelectedFile();// 文件存放的位置 if (f != null) { if (panel.saveToFile(f)) { JOptionPane.showMessageDialog(this, "保存成功!"); } else { JOptionPane.showMessageDialog(this, "保存失败!"); } } return; } if (e.getActionCommand().equals("装载游戏")) { JFileChooser jfc = new JFileChooser(); jfc.showOpenDialog(this); File f = jfc.getSelectedFile(); 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().showMe(); } }
最近下载更多
xsl250 LV1
6月20日
ewan007 LV30
3月3日
huangzy LV12
2023年4月6日
总有人间一两风 LV8
2022年12月12日
2483935277 LV3
2022年9月3日
Qzi qzi LV1
2022年6月24日
yebaobo LV4
2022年2月13日
zzy1170707748 LV1
2021年12月20日
models10086 LV1
2021年12月16日
chen_jw LV10
2021年12月14日
最近浏览更多
yansunling LV1
11月6日
wangming32 LV1
7月15日
xsl250 LV1
6月20日
sunxiaoyan LV1
6月19日
Dongshuo Han
6月16日
暂无贡献等级
啊撒旦撒
6月4日
暂无贡献等级
dexd1111 LV1
5月28日
860421 LV3
4月18日
ewan007 LV30
3月3日
luyouqi LV1
2月29日