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

📄 frmmaze.java

📁 Maze solving using java
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. *//* * frrmmaze.java * * Created on May 24, 2009, 6:35:01 PM */package maze;import java.awt.Graphics;import java.awt.GridLayout;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import java.util.Random;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JOptionPane;import javax.swing.JPanel;/** * * @author James Bond 007 */public class frmmaze extends javax.swing.JFrame {    private Maze maze = null;    /** Creates new form frrmmaze */    public frmmaze() {        initComponents();    }    /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the Form Editor.     */    @SuppressWarnings("unchecked")    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents    private void initComponents() {        HeuGroup = new javax.swing.ButtonGroup();        MyDialog = new javax.swing.JDialog();        pnlMaze = new javax.swing.JPanel();        pnlToolbar = new javax.swing.JPanel();        btnSolve = new javax.swing.JButton();        jMenuBar1 = new javax.swing.JMenuBar();        mnuFile = new javax.swing.JMenu();        mnuNew = new javax.swing.JMenuItem();        mnuRanMaze = new javax.swing.JMenuItem();        mnuLoad = new javax.swing.JMenuItem();        mnuSave = new javax.swing.JMenuItem();        jSeparator1 = new javax.swing.JSeparator();        mnuExport = new javax.swing.JMenuItem();        jSeparator2 = new javax.swing.JSeparator();        mnuExit = new javax.swing.JMenuItem();        mnuEdit = new javax.swing.JMenu();        mnuMazeEdit = new javax.swing.JMenuItem();        mnuheuristics = new javax.swing.JMenu();        mnuEuclidean = new javax.swing.JRadioButtonMenuItem();        mnuManhattan = new javax.swing.JRadioButtonMenuItem();        mnuHelp = new javax.swing.JMenu();        mnuAbout = new javax.swing.JMenuItem();        javax.swing.GroupLayout MyDialogLayout = new javax.swing.GroupLayout(MyDialog.getContentPane());        MyDialog.getContentPane().setLayout(MyDialogLayout);        MyDialogLayout.setHorizontalGroup(            MyDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGap(0, 400, Short.MAX_VALUE)        );        MyDialogLayout.setVerticalGroup(            MyDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGap(0, 300, Short.MAX_VALUE)        );        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        setTitle("A* Maze solver ");        pnlMaze.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));        javax.swing.GroupLayout pnlMazeLayout = new javax.swing.GroupLayout(pnlMaze);        pnlMaze.setLayout(pnlMazeLayout);        pnlMazeLayout.setHorizontalGroup(            pnlMazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGap(0, 434, Short.MAX_VALUE)        );        pnlMazeLayout.setVerticalGroup(            pnlMazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGap(0, 321, Short.MAX_VALUE)        );        pnlToolbar.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));        btnSolve.setText("Solve");        btnSolve.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                btnSolveActionPerformed(evt);            }        });        javax.swing.GroupLayout pnlToolbarLayout = new javax.swing.GroupLayout(pnlToolbar);        pnlToolbar.setLayout(pnlToolbarLayout);        pnlToolbarLayout.setHorizontalGroup(            pnlToolbarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(pnlToolbarLayout.createSequentialGroup()                .addContainerGap()                .addComponent(btnSolve)                .addContainerGap(365, Short.MAX_VALUE))        );        pnlToolbarLayout.setVerticalGroup(            pnlToolbarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(pnlToolbarLayout.createSequentialGroup()                .addContainerGap()                .addComponent(btnSolve)                .addContainerGap(9, Short.MAX_VALUE))        );        mnuFile.setText("File");        mnuNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, 0));        mnuNew.setText("Blank maze");        mnuNew.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuNewActionPerformed(evt);            }        });        mnuFile.add(mnuNew);        mnuRanMaze.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK));        mnuRanMaze.setText("Random maze");        mnuRanMaze.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuRanMazeActionPerformed(evt);            }        });        mnuFile.add(mnuRanMaze);        mnuLoad.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, 0));        mnuLoad.setText("Load maze");        mnuLoad.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuLoadActionPerformed(evt);            }        });        mnuFile.add(mnuLoad);        mnuSave.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, 0));        mnuSave.setText("Save maze");        mnuSave.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuSaveActionPerformed(evt);            }        });        mnuFile.add(mnuSave);        mnuFile.add(jSeparator1);        mnuExport.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, 0));        mnuExport.setText("Export to prolog");        mnuFile.add(mnuExport);        mnuFile.add(jSeparator2);        mnuExit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, 0));        mnuExit.setText("Exit");        mnuExit.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuExitActionPerformed(evt);            }        });        mnuFile.add(mnuExit);        jMenuBar1.add(mnuFile);        mnuEdit.setText("Edit");        mnuMazeEdit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, 0));        mnuMazeEdit.setText("Maze file");        mnuEdit.add(mnuMazeEdit);        mnuheuristics.setText("Heuristics");        mnuEuclidean.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.CTRL_MASK));        HeuGroup.add(mnuEuclidean);        mnuEuclidean.setText("Euclidean distance");        mnuEuclidean.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuEuclideanActionPerformed(evt);            }        });        mnuheuristics.add(mnuEuclidean);        mnuManhattan.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.CTRL_MASK));        HeuGroup.add(mnuManhattan);        mnuManhattan.setSelected(true);        mnuManhattan.setText("Manhattan distance");        mnuManhattan.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuManhattanActionPerformed(evt);            }        });        mnuheuristics.add(mnuManhattan);        mnuEdit.add(mnuheuristics);        jMenuBar1.add(mnuEdit);        mnuHelp.setText("Help");        mnuHelp.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuHelpActionPerformed(evt);            }        });        mnuAbout.setText("About");        mnuAbout.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                mnuAboutActionPerformed(evt);            }        });        mnuHelp.add(mnuAbout);        jMenuBar1.add(mnuHelp);        setJMenuBar(jMenuBar1);        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());        getContentPane().setLayout(layout);        layout.setHorizontalGroup(            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(layout.createSequentialGroup()                .addContainerGap()                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addComponent(pnlToolbar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)                    .addComponent(pnlMaze, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))                .addContainerGap())        );        layout.setVerticalGroup(            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(layout.createSequentialGroup()                .addContainerGap()

⌨️ 快捷键说明

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