public void setUpGUI(Container container) throws Exception { // <Begin_setUpGUI_Container> container.add(Top, BorderLayout.CENTER); Top.setLayout(null); JPanel1.setBounds(0, 0, 225, 415); Top.add(JPanel1); JPanel1.setLayout(null); RouterBtn.setBounds(60, 95, 110, 165); JPanel1.add(RouterBtn); eight.setBounds(170, 155, 45, 45); JPanel1.add(eight); one.setBounds(170, 105, 45, 45); JPanel1.add(one); six.setBounds(65, 40, 45, 55); JPanel1.add(six); three.setBounds(15, 105, 45, 45); JPanel1.add(three); four.setBounds(15, 205, 45, 45); JPanel1.add(four); seven.setBounds(15, 155, 45, 45); JPanel1.add(seven); two.setBounds(170, 205, 45, 45); JPanel1.add(two); ten.setBounds(120, 260, 45, 55); JPanel1.add(ten); five.setBounds(65, 260, 45, 55); JPanel1.add(five); nine.setBounds(120, 40, 45, 55); JPanel1.add(nine); JPanel2.setBounds(220, 0, 455, 415); Top.add(JPanel2); JPanel2.setLayout(new BorderLayout(5, 5)); JPanel2.add(JPanel3, BorderLayout.NORTH); JPanel3.setLayout(new FlowLayout(1, 5, 5)); JPanel3.add(JLabel1); JPanel2.add(JPanel4, BorderLayout.CENTER); JPanel4.setLayout(new CardLayout(5, 5)); JPanel2.add(JPanel5, BorderLayout.SOUTH); JPanel5.setLayout(new FlowLayout(2, 5, 5)); JPanel5.add(RefreshBtn); JPanel5.add(CloseBtn); // <End_setUpGUI_Container> }
public void setUpGUI(Container container) { // <Begin_setUpGUI_Container> container.add(Top, BorderLayout.CENTER); Top.setLayout(new BorderLayout(5, 5)); Top.add(JPanel1, BorderLayout.CENTER); JPanel1.setLayout(new BorderLayout(5, 5)); JPanel1.add(JScrollPane1, BorderLayout.CENTER); JScrollPane1.getViewport().add(JTable1); JPanel1.add(JPanel6, BorderLayout.WEST); JPanel6.setLayout(new BorderLayout(5, 5)); JPanel6.add(JLabel2, BorderLayout.CENTER); Top.add(JPanel2, BorderLayout.SOUTH); JPanel2.setLayout(new GridLayout(1, 1, 5, 5)); JPanel2.add(JPanel3); JPanel3.setLayout(new FlowLayout(2, 5, 5)); JPanel3.add(JButton1); JPanel3.add(JButton2); JPanel3.add(JButton3); JPanel3.add(closeButton); Top.add(JPanel5, BorderLayout.NORTH); JPanel5.setLayout(new GridLayout(2, 1, 5, 5)); JPanel5.add(JLabel1); // <End_setUpGUI_Container> }
// Initialize Board public void init() { // Create cells and handlers cells = new JTextField[gameBoard.boardSize * gameBoard.boardSize + 1]; // Redraw Panel boardPanel.removeAll(); boardPanel.setLayout(new GridLayout(gameBoard.boardSize, gameBoard.boardSize)); // Set layout JTextFilter TextFilter = new JTextFilter(3); JTextDocumentListener JTextDocFilter = new JTextDocumentListener(); for (int i = 1; i <= gameBoard.boardSize * gameBoard.boardSize; i++) { cells[i] = new JTextField(); ((AbstractDocument) cells[i].getDocument()).setDocumentFilter(TextFilter); ((AbstractDocument) cells[i].getDocument()).addDocumentListener(JTextDocFilter); ((AbstractDocument) cells[i].getDocument()).putProperty("index", i); cells[i].setHorizontalAlignment(JTextField.CENTER); cells[i].setFont(new Font("Agency FB", Font.BOLD, 24)); // Add elements to the grid content pane boardPanel.add(cells[i]); } // Initialize booleans gameOver = false; // Clear Board for (int i = 1; i <= (gameBoard.boardSize * gameBoard.boardSize); i++) { String ch = Integer.toString(this.gameBoard.cells[i]); char chr = '-'; if (ch.compareTo("0") == 0 || ch == Character.toString(chr)) { cells[i].setText(""); } else { cells[i].setText(ch); cells[i].setBackground(Color.lightGray); } } // gameBoard.out(); setVisible(true); this.boardPanel.repaint(); this.gameTimer.reset(); jButtonSOLVE.setEnabled(true); }
/** * Creates new form VerdisCrossoverPanel. * * @param verdisCrossoverPort DOCUMENT ME! */ public VerdisCrossoverPanel(final int verdisCrossoverPort) { initComponents(); configurePopupMenue(); panAll.setLayout(layout); panAll.removeAll(); panAll.add(panContentProgress, PROGRESS_CARD_NAME); panAll.add(panContent, CONTENT_CARD_NAME); panAll.add(panContentMessage, MESSAGE_CARD_NAME); // TODO Jean tblKassenzeichen.setModel(tableModel); tblKassenzeichen.addMouseListener(this); tblKassenzeichen.addMouseListener(new PopupListener()); tblKassenzeichen.getSelectionModel().addListSelectionListener(this); this.verdisCrossoverPort = verdisCrossoverPort; pgbProgress.setIndeterminate(true); // this.add(panContentProgress, BorderLayout.CENTER); layout.show(panAll, PROGRESS_CARD_NAME); }
/** * 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() { panControl = new javax.swing.JPanel(); btnClose = new javax.swing.JButton(); btnLoadSelectedKassenzeichen = new javax.swing.JButton(); panAll = new javax.swing.JPanel(); panContentProgress = new javax.swing.JPanel(); pgbProgress = new javax.swing.JProgressBar(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); panContentMessage = new javax.swing.JPanel(); lblMessage = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); panContent = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); tblKassenzeichen = new JXTable(); setPreferredSize(new java.awt.Dimension(500, 200)); panControl.setMinimumSize(new java.awt.Dimension(50, 50)); panControl.setPreferredSize(new java.awt.Dimension(300, 50)); btnClose.setText( org.openide.util.NbBundle.getMessage( VerdisCrossoverPanel.class, "VerdisCrossoverPanel.btnClose.text")); // NOI18N btnClose.addActionListener( new java.awt.event.ActionListener() { @Override public void actionPerformed(final java.awt.event.ActionEvent evt) { btnCloseActionPerformed(evt); } }); btnLoadSelectedKassenzeichen.setIcon( new javax.swing.ImageIcon( getClass() .getResource("/de/cismet/lagis/ressource/icons/buttons/postion.png"))); // NOI18N btnLoadSelectedKassenzeichen.setText( org.openide.util.NbBundle.getMessage( VerdisCrossoverPanel.class, "VerdisCrossoverPanel.btnLoadSelectedKassenzeichen.text")); // NOI18N btnLoadSelectedKassenzeichen.setToolTipText( org.openide.util.NbBundle.getMessage( VerdisCrossoverPanel.class, "VerdisCrossoverPanel.btnLoadSelectedKassenzeichen.toolTipText")); // NOI18N btnLoadSelectedKassenzeichen.setEnabled(false); btnLoadSelectedKassenzeichen.addActionListener( new java.awt.event.ActionListener() { @Override public void actionPerformed(final java.awt.event.ActionEvent evt) { btnLoadSelectedKassenzeichenActionPerformed(evt); } }); final javax.swing.GroupLayout panControlLayout = new javax.swing.GroupLayout(panControl); panControl.setLayout(panControlLayout); panControlLayout.setHorizontalGroup( panControlLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, panControlLayout .createSequentialGroup() .addContainerGap(378, Short.MAX_VALUE) .addComponent(btnLoadSelectedKassenzeichen) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnClose) .addContainerGap())); panControlLayout.setVerticalGroup( panControlLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( panControlLayout .createSequentialGroup() .addContainerGap() .addGroup( panControlLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnClose) .addComponent(btnLoadSelectedKassenzeichen)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); panControlLayout.linkSize( javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {btnClose, btnLoadSelectedKassenzeichen}); panAll.setPreferredSize(new java.awt.Dimension(400, 251)); panAll.setLayout(new java.awt.CardLayout()); panContentProgress.setPreferredSize(new java.awt.Dimension(250, 140)); jLabel1.setIcon( new javax.swing.ImageIcon( getClass().getResource("/de/cismet/lagis/ressource/icons/searching.png"))); // NOI18N jLabel2.setText( org.openide.util.NbBundle.getMessage( VerdisCrossoverPanel.class, "VerdisCrossoverPanel.jLabel2.text")); // NOI18N final javax.swing.GroupLayout panContentProgressLayout = new javax.swing.GroupLayout(panContentProgress); panContentProgress.setLayout(panContentProgressLayout); panContentProgressLayout.setHorizontalGroup( panContentProgressLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( panContentProgressLayout .createSequentialGroup() .addContainerGap() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup( panContentProgressLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent( pgbProgress, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) .addComponent(jLabel2)) .addContainerGap())); panContentProgressLayout.setVerticalGroup( panContentProgressLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, panContentProgressLayout .createSequentialGroup() .addContainerGap(49, Short.MAX_VALUE) .addGroup( panContentProgressLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup( panContentProgressLayout .createSequentialGroup() .addComponent(jLabel2) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( pgbProgress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(12, 12, 12)) .addComponent( jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap())); panAll.add(panContentProgress, "card3"); panContentMessage.setPreferredSize(new java.awt.Dimension(250, 140)); lblMessage.setText( org.openide.util.NbBundle.getMessage( VerdisCrossoverPanel.class, "VerdisCrossoverPanel.lblMessage.text")); // NOI18N jLabel3.setIcon( new javax.swing.ImageIcon( getClass().getResource("/de/cismet/lagis/ressource/icons/warn.png"))); // NOI18N jLabel3.setText( org.openide.util.NbBundle.getMessage( VerdisCrossoverPanel.class, "VerdisCrossoverPanel.jLabel3.text")); // NOI18N final javax.swing.GroupLayout panContentMessageLayout = new javax.swing.GroupLayout(panContentMessage); panContentMessage.setLayout(panContentMessageLayout); panContentMessageLayout.setHorizontalGroup( panContentMessageLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, panContentMessageLayout .createSequentialGroup() .addContainerGap(28, Short.MAX_VALUE) .addComponent( jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent( lblMessage, javax.swing.GroupLayout.PREFERRED_SIZE, 388, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap())); panContentMessageLayout.setVerticalGroup( panContentMessageLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, panContentMessageLayout .createSequentialGroup() .addContainerGap(49, Short.MAX_VALUE) .addGroup( panContentMessageLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent( jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent( lblMessage, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap())); panAll.add(panContentMessage, "card2"); tblKassenzeichen.setModel( new javax.swing.table.DefaultTableModel( new Object[][] { {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null} }, new String[] {"Title 1", "Title 2", "Title 3", "Title 4"})); jScrollPane1.setViewportView(tblKassenzeichen); final javax.swing.GroupLayout panContentLayout = new javax.swing.GroupLayout(panContent); panContent.setLayout(panContentLayout); panContentLayout.setHorizontalGroup( panContentLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( panContentLayout .createSequentialGroup() .addContainerGap() .addComponent( jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 476, Short.MAX_VALUE) .addContainerGap())); panContentLayout.setVerticalGroup( panContentLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( panContentLayout .createSequentialGroup() .addContainerGap() .addComponent( jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 104, Short.MAX_VALUE) .addContainerGap())); panAll.add(panContent, "card4"); final javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(panAll, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE) .addComponent( panControl, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE)); layout.setVerticalGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addComponent( panAll, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( panControl, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE))); } // </editor-fold>//GEN-END:initComponents
public NumbrixGUI() throws ParseException { // Board gameBoard) throws ParseException{ // Board this.gameBoard = new Board(); // Container setTitle(TITLE); setSize(WIDTH, HEIGHT); setDefaultCloseOperation(EXIT_ON_CLOSE); // About Frame jFrameAbout = new javax.swing.JFrame(); jFrameAbout.setResizable(false); jFrameAbout.setPreferredSize(new Dimension(500, 300)); jTextAreaAbout = new javax.swing.JTextArea(); jTextAreaAbout.setBackground(new java.awt.Color(240, 240, 240)); jTextAreaAbout.setColumns(20); jTextAreaAbout.setRows(10); jTextAreaAbout.setText( "\t\tNumbrix Version 1\n\nClass Project for Artificial Intelligence course.\nUniversity of Florida\nCISE\n\n\n\n\nby Rainer Ledesma\nhttp://www.cise.ufl.edu/~rledesma/\n"); jTextAreaAbout.setFont(new java.awt.Font("Agency FB", 1, 20)); // NOI18N jTextAreaAbout.setEditable(false); jTextAreaAbout.setPreferredSize(new Dimension(500, 300)); javax.swing.GroupLayout jFrameAboutLayout = new javax.swing.GroupLayout(jFrameAbout.getContentPane()); jFrameAbout.getContentPane().setLayout(jFrameAboutLayout); jFrameAboutLayout.setHorizontalGroup( jFrameAboutLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( jFrameAboutLayout .createSequentialGroup() .addGap(11, 11, 11) .addComponent( jTextAreaAbout, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jFrameAboutLayout.setVerticalGroup( jFrameAboutLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( jFrameAboutLayout .createSequentialGroup() .addGap(0, 16, Short.MAX_VALUE) .addComponent( jTextAreaAbout, javax.swing.GroupLayout.PREFERRED_SIZE, 267, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 17, Short.MAX_VALUE))); // // Instructions Frame jFrameInstructions = new javax.swing.JFrame(); jFrameInstructions.setResizable(false); jFrameInstructions.setPreferredSize(new Dimension(500, 300)); jTextAreaInstructions = new javax.swing.JTextArea(); jTextAreaInstructions.setBackground(new java.awt.Color(240, 240, 240)); jTextAreaInstructions.setColumns(20); jTextAreaInstructions.setRows(10); jTextAreaInstructions.setText( "\t\tNumbrix\n" + "The object of Numbrix is to fill the board with sequence of consecutive \n" + "numbers from 1 to the maximun cell count. The numbers must fillow a \n" + "horizontal or vertical path (no diagonals)\n"); jTextAreaInstructions.setFont(new java.awt.Font("Agency FB", 1, 20)); // NOI18N jTextAreaInstructions.setEditable(false); jTextAreaInstructions.setPreferredSize(new Dimension(500, 300)); javax.swing.GroupLayout jFrameInstructionsLayout = new javax.swing.GroupLayout(jFrameInstructions.getContentPane()); jFrameInstructions.getContentPane().setLayout(jFrameInstructionsLayout); jFrameInstructionsLayout.setHorizontalGroup( jFrameInstructionsLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( jFrameInstructionsLayout .createSequentialGroup() .addGap(11, 11, 11) .addComponent( jTextAreaInstructions, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jFrameInstructionsLayout.setVerticalGroup( jFrameInstructionsLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( jFrameInstructionsLayout .createSequentialGroup() .addGap(0, 16, Short.MAX_VALUE) .addComponent( jTextAreaInstructions, javax.swing.GroupLayout.PREFERRED_SIZE, 267, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 17, Short.MAX_VALUE))); // // File Chooser jFrameFileChooser = new javax.swing.JFrame(); jFileChooser = new javax.swing.JFileChooser(); jFileChooser.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { try { jFileChooserActionPerformed(evt); } catch (Exception ex) { JOptionPane.showMessageDialog(frame, "File Exception"); } } }); javax.swing.GroupLayout jFrameFileChooserLayout = new javax.swing.GroupLayout(jFrameFileChooser.getContentPane()); jFrameFileChooser.getContentPane().setLayout(jFrameFileChooserLayout); jFrameFileChooserLayout.setHorizontalGroup( jFrameFileChooserLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 618, Short.MAX_VALUE) .addGroup( jFrameFileChooserLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( jFrameFileChooserLayout .createSequentialGroup() .addGap(18, 18, 18) .addComponent( jFileChooser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(18, 18, 18)))); jFrameFileChooserLayout.setVerticalGroup( jFrameFileChooserLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 456, Short.MAX_VALUE) .addGroup( jFrameFileChooserLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( jFrameFileChooserLayout .createSequentialGroup() .addGap(27, 27, 27) .addComponent( jFileChooser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(32, 32, 32)))); // // SidePanel jPanelSideBar = new javax.swing.JPanel(); jButtonRESET = new javax.swing.JButton(); jButtonSOLVE = new javax.swing.JButton(); jButtonNEWGAME = new javax.swing.JButton(); jLabelTIMER = new javax.swing.JLabel(); jButtonPAUSE = new javax.swing.JButton(); jButtonRESET.setText("RESET"); jButtonRESET.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonRESETActionPerformed(evt); } }); jButtonSOLVE.setText("SOLVE"); jButtonSOLVE.setEnabled(false); jButtonSOLVE.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { try { jButtonSOLVEActionPerformed(evt); } catch (IOException ex) { Logger.getLogger(NumbrixGUI.class.getName()).log(Level.SEVERE, null, ex); } } }); jButtonNEWGAME.setText("NEW GAME"); jButtonNEWGAME.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonNEWGAMEActionPerformed(evt); } }); jLabelTIMER.setText("TIMER"); jLabelTIMER.setFont(new java.awt.Font("Agency FB", 1, 18)); jButtonPAUSE.setText("PAUSE"); jButtonPAUSE.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonPAUSEActionPerformed(evt); } }); jLabelClock = new javax.swing.JLabel(); jLabelClock.setFont(new java.awt.Font("Agency FB", 1, 24)); // NOI18N jLabelClock.setText("10 : 99 : 60"); javax.swing.GroupLayout jPanelSideBarLayout = new javax.swing.GroupLayout(jPanelSideBar); jPanelSideBar.setLayout(jPanelSideBarLayout); jPanelSideBarLayout.setHorizontalGroup( jPanelSideBarLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( jPanelSideBarLayout .createSequentialGroup() .addContainerGap() .addGroup( jPanelSideBarLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent( jButtonRESET, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( jButtonSOLVE, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( jButtonNEWGAME, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 136, Short.MAX_VALUE) .addComponent( jButtonPAUSE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup( jPanelSideBarLayout .createSequentialGroup() .addGroup( jPanelSideBarLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabelTIMER) .addComponent( jLabelClock, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, Short.MAX_VALUE))) .addContainerGap())); jPanelSideBarLayout.setVerticalGroup( jPanelSideBarLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, jPanelSideBarLayout .createSequentialGroup() .addContainerGap() .addComponent(jLabelTIMER) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( jLabelClock, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButtonPAUSE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED, 229, Short.MAX_VALUE) .addComponent(jButtonNEWGAME) .addGap(18, 18, 18) .addComponent(jButtonRESET) .addGap(18, 18, 18) .addComponent(jButtonSOLVE) .addContainerGap())); //////// // Menu jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jMenuItemNewGame = new javax.swing.JMenuItem(); jMenuItemExit = new javax.swing.JMenuItem(); jMenu2 = new javax.swing.JMenu(); jMenuItemInstructions = new javax.swing.JMenuItem(); jMenuItemAbout = new javax.swing.JMenuItem(); jMenu1.setText("File"); jMenu2.setText("Edit"); jMenuItemNewGame.setText("New Game"); jMenuItemExit.setText("Exit"); jMenuItemInstructions.setText("Instructions"); jMenuItemAbout.setText("About Numbrix"); jMenuBar1.add(jMenu1); jMenuBar1.add(jMenu2); jMenu1.add(jMenuItemNewGame); jMenu1.add(jMenuItemExit); jMenu2.add(jMenuItemInstructions); jMenu2.add(jMenuItemAbout); setJMenuBar(jMenuBar1); jMenuItemNewGame.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItemNewGameActionPerformed(evt); } }); jMenuItemExit.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItemExitActionPerformed(evt); } }); jMenuItemInstructions.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItemInstructionsActionPerformed(evt); } }); jMenuItemAbout.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItemAboutActionPerformed(evt); } }); // // SolvedBoardPanel jPanelSolvedBoard = new javax.swing.JPanel(); jPanelSolvedBoard.setBackground(new java.awt.Color(255, 255, 255)); // Solved Board Frame jFrameSolvedBoard = new javax.swing.JFrame(); jFrameSolvedBoard.setTitle("Numbrix Solution"); javax.swing.GroupLayout jFrameSolvedBoardLayout = new javax.swing.GroupLayout(jFrameSolvedBoard.getContentPane()); jFrameSolvedBoard.getContentPane().setLayout(jFrameSolvedBoardLayout); jFrameSolvedBoardLayout.setHorizontalGroup( jFrameSolvedBoardLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 400, Short.MAX_VALUE) .addGroup( jFrameSolvedBoardLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent( jPanelSolvedBoard, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE))); jFrameSolvedBoardLayout.setVerticalGroup( jFrameSolvedBoardLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 300, Short.MAX_VALUE) .addGroup( jFrameSolvedBoardLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent( jPanelSolvedBoard, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE))); // BoardPanel boardPanel = new javax.swing.JPanel(); boardPanel.setBackground(new java.awt.Color(255, 255, 255)); // Clock gameTimer = new GameTimer(jLabelClock); this.gameTimer.start(); this.gameTimer.run(); // Initialize // init(); // Container Layout javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout .createSequentialGroup() .addContainerGap() .addComponent( boardPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 488, Short.MAX_VALUE) .addGap(18, 18, 18) .addComponent( jPanelSideBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap())); layout.setVerticalGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout .createSequentialGroup() .addContainerGap() .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent( boardPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( jPanelSideBar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap())); }
private void jButtonSOLVEActionPerformed(java.awt.event.ActionEvent evt) throws IOException { System.out.println("solving"); // DEBUG // BufferedReader in = new BufferedReader(new // FileReader("C:\\Users\\Rainer\\Desktop\\2013 FALL\\CAP 4621 - Artificial // Intelligence\\Project\\InitialBoard.txt")); // // try{ // in = new BufferedReader(new FileReader("C:\\Users\\Rainer\\Desktop\\2013 // FALL\\CAP 4621 - Artificial Intelligence\\Project\\InitialBoard.txt")); // // }catch (FileNotFoundException e){ // System.out.println(e.getCause()); // System.out.println("Error loading initial board"); // } // // int [] boardRows = new int [15]; // // //---------------- // String text = in.readLine(); // // StringTokenizer tokenizer = new StringTokenizer(text," "); // // int boardSize = 0; // while (tokenizer.hasMoreElements()){ // boardRows[boardSize] = Integer.parseInt(tokenizer.nextToken()); // boardSize++; // } // // int []newBoard = new int[boardSize*boardSize+1]; // System.arraycopy(boardRows, 0, newBoard, 1, boardSize); // // int index = 0; // while (in.ready()) { // index++; // text = in.readLine(); // // tokenizer = new StringTokenizer(text," "); // int pos = 0; // while (tokenizer.hasMoreElements()){ // pos++; // newBoard[index*boardSize+pos] = // Integer.parseInt(tokenizer.nextToken()); // } // } // // this.jFrameFileChooser.setVisible(false); // // this.boardPanel.s // // gameInitialBoard = new Board(newBoard, boardSize); // gameBoard = new Board(newBoard, boardSize); // init(); // // END DEBUG long startTime = System.nanoTime(); this.gameBoard.solveBoard(); long endTime = System.nanoTime(); double time = (endTime - startTime) / 100000000.0; System.out.println("Excecution time: " + time + " seconds"); // jPanelSolvedBoard jPanelSolvedBoard.removeAll(); jPanelSolvedBoard.setLayout( new GridLayout(gameBoard.boardSize, gameBoard.boardSize)); // Set layout solvedCells = new JTextField[gameBoard.boardSize * gameBoard.boardSize + 1]; for (int i = 1; i <= gameBoard.boardSize * gameBoard.boardSize; i++) { solvedCells[i] = new JTextField(); solvedCells[i].setHorizontalAlignment(JTextField.CENTER); solvedCells[i].setFont(new Font("Agency FB", Font.BOLD, 24)); // Add elements to the grid content pane jPanelSolvedBoard.add(solvedCells[i]); String ch = Integer.toString(this.gameBoard.cells[i]); solvedCells[i].setText(ch); solvedCells[i].setEditable(false); } // gameBoard.out(); jPanelSolvedBoard.setVisible(true); this.jPanelSolvedBoard.repaint(); this.jFrameSolvedBoard.setVisible(true); this.jFrameSolvedBoard.pack(); // }
/////////////////////////////////// // member functions ////////////////////////////////// protected final void initForm() { thisPanel = new JPanel(); thisPanel.setName("Import Range Data"); thisPanel.setLayout(new java.awt.BorderLayout()); _thePanel.add(thisPanel); _theWarning = new JTextArea(); _theWarning.setEditable(false); String theMessage = "Warning, data imported through this panel has"; theMessage += " speed and course calculated as over the ground."; theMessage += System.getProperties().getProperty("line.separator"); theMessage += "Debrief recognises PC Argos (RAO) and PMRF (PRN) files."; theMessage += System.getProperties().getProperty("line.separator"); theMessage += "See Debrief Help File for file format and details."; _theWarning.setText(theMessage); _theWarning.setLineWrap(true); _theWarning.setBorder(BorderFactory.createLoweredBevelBorder()); _theWarning.setWrapStyleWord(true); thisPanel.add("North", _theWarning); //////////////////////////////////////////// // auto generated stuff //////////////////////////////////////////// ButtonPanel = new javax.swing.JPanel(); importBtn = new javax.swing.JButton(); closeBtn = new javax.swing.JButton(); PropertiesList = new javax.swing.JPanel(); FilenamePanel = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); FilenameLabel = new javax.swing.JLabel(); selectFileBtn = new javax.swing.JButton(); FrequencyPanel = new javax.swing.JPanel(); FrequencyLabel = new javax.swing.JLabel(); FrequencyCombo = new TimeFrequencyCombo(); OriginPanel = new javax.swing.JPanel(); jLabel7 = new javax.swing.JLabel(); OriginLabel = new javax.swing.JLabel(); selectOriginBtn = new javax.swing.JButton(); DTGPanel = new javax.swing.JPanel(); jLabel9 = new javax.swing.JLabel(); _theDate = new javax.swing.JTextField("2001/01/30"); ///////////////////////////////////////////////// // button panel first ////////////////////////////////////////////////// importBtn.setText("Import"); ButtonPanel.add(importBtn); closeBtn.setText("Close"); ButtonPanel.add(closeBtn); thisPanel.add(ButtonPanel, java.awt.BorderLayout.SOUTH); closeBtn.addActionListener( new ActionListener() { public void actionPerformed(final ActionEvent e) { doClose(); } }); importBtn.addActionListener( new ActionListener() { public void actionPerformed(final ActionEvent e) { doImport(); } }); /////////////////////////////////////////////////// // now the properties panel /////////////////////////////////////////////////// PropertiesList.setLayout(new java.awt.GridLayout(0, 1)); jLabel3.setText("Filename:"); FilenamePanel.add(jLabel3); FilenameLabel.setText(" blank "); FilenamePanel.add(FilenameLabel); selectFileBtn.setPreferredSize(new java.awt.Dimension(33, 27)); selectFileBtn.setToolTipText("Select file"); selectFileBtn.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); selectFileBtn.setText("..."); selectFileBtn.addActionListener( new ActionListener() { public void actionPerformed(final ActionEvent e) { doEditFilename(); } }); FilenamePanel.add(selectFileBtn); PropertiesList.add(FilenamePanel); FrequencyLabel.setText("Frequency:"); FrequencyPanel.add(FrequencyLabel); FrequencyCombo.setPreferredSize(new java.awt.Dimension(100, 25)); FrequencyPanel.add(FrequencyCombo); PropertiesList.add(FrequencyPanel); jLabel7.setText("Origin:"); OriginPanel.add(jLabel7); OriginLabel.setText(" blank "); OriginPanel.add(OriginLabel); selectOriginBtn.setPreferredSize(new java.awt.Dimension(33, 27)); selectOriginBtn.setToolTipText("Select file"); selectOriginBtn.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); selectOriginBtn.setText("..."); selectOriginBtn.addActionListener( new ActionListener() { public void actionPerformed(final ActionEvent e) { editOrigin(); } }); OriginPanel.add(selectOriginBtn); PropertiesList.add(OriginPanel); ////////////////////////////////////////////////////// // DTG ///////////////////////////////////////////////////// jLabel9.setText("DTG (yyyy/mm/dd):"); _theDate.setText("2001/01/30"); _theDate.addFocusListener( new FocusAdapter() { public void focusLost(final FocusEvent e) { checkDTG(); } }); DTGPanel.add(jLabel9); DTGPanel.add(_theDate); PropertiesList.add(DTGPanel); final JPanel jp = new JPanel(); jp.setLayout(new FlowLayout()); jp.add(PropertiesList); thisPanel.add(jp, java.awt.BorderLayout.CENTER); }