1. 程式人生 > 程式設計 >基於java實現停車場管理系統

基於java實現停車場管理系統

本文例項為大家分享了java停車場管理系統的具體程式碼,供大家參考,具體內容如下

WorkFram.java

package com.parking;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

/*
 * WotkFram.java
 *
 * Created on 2008年9月2日,下午7:57
 */

/**
 *
 * @author cheng
 */
public class WorkFram extends JFrame {
 
 /**
 * 
 */
 private static final long serialVersionUID = 1L;

 /**
  * @param args the command line arguments
  */
 // 變數宣告 - 不進行修改//GEN-BEGIN:variables
 
 private JButton jbtnEnter;
 
 private JButton jbtnRefrush;
 
 private JTextArea jtexInfor;
 
 public int m_areaCount; //停車區個數
 
 public int[] m_nos;  //每個停車區的車位數
 
 public int[] m_apare; //每個停車區的空閒車位數
 
 // 變數宣告結束//GEN-END:variables
 //int m_areaCount;
 
 /** Creates new form WotkFram */
 
 public WorkFram(InitFrame frm) {
  
  this.m_areaCount = frm.m_Area.length;
  this.m_apare = new int[m_areaCount];
  this.m_nos = new int[m_areaCount];
  for(int i = 0; i < m_areaCount; i++){
   this.m_apare[i] = frm.m_Area[i];
   this.m_nos[i] = frm.m_Area[i];
  }
  
  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.
  */
 // <editor-fold defaultstate="collapsed" desc=" 生成的程式碼 ">//GEN-BEGIN:initComponents
 private void initComponents() {
  
  jbtnEnter = new JButton();
  
  jbtnRefrush = new JButton();
  
  jtexInfor = new JTextArea("停車場初始化結果:\n" + getStopStatus());
  
  jtexInfor.setEnabled(false);
  
  setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  
  setTitle("\u505c\u8f66\u573a\u6a21\u62df");
  
  jbtnEnter.setText("\u8fdb\u5165\u505c\u8f66\u573a");
  
  jbtnRefrush.setText("重新整理");
  
  jbtnEnter.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnEnterActionPerformed(evt);
   }
  });
  
  jbtnRefrush.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnRefrushActionPerformed(evt);
   }
  });

  GroupLayout layout = new GroupLayout(getContentPane());
  
  getContentPane().setLayout(layout);
  
  layout.setHorizontalGroup(
   layout.createParallelGroup(GroupLayout.Alignment.LEADING)
   .addGroup(GroupLayout.Alignment.TRAILING,layout.createSequentialGroup()
    .addContainerGap(159,Short.MAX_VALUE)
    .addComponent(jtexInfor)
    .addComponent(jbtnRefrush)
    .addComponent(jbtnEnter)    
    .addGap(128,128,128))
  );
  
  layout.setVerticalGroup(
   layout.createParallelGroup(GroupLayout.Alignment.LEADING)
   .addGroup(GroupLayout.Alignment.TRAILING,layout.createSequentialGroup()
    .addContainerGap(204,Short.MAX_VALUE)
    .addComponent(jtexInfor)
    .addComponent(jbtnRefrush)
    .addComponent(jbtnEnter)
    .addGap(73,73,73))
  );
  
  pack();
  
 }// </editor-fold>//GEN-END:initComponents

 private void jbtnEnterActionPerformed(ActionEvent evt) {//GEN-FIRST:event_jbtnEnterActionPerformed
// TODO 將在此處新增您的處理程式碼:
  Thread thr = new carThread(this);
  thr.run();
 }//GEN-LAST:event_jbtnEnterActionPerformed
 
 private void jbtnRefrushActionPerformed(ActionEvent evt) {//GEN-FIRST:event_jbtnEnterActionPerformed
//  TODO 將在此處新增您的處理程式碼:
  this.jtexInfor.setText("停車場當前車區車位狀況統計:\n" + getStopStatus());  
 }//GEN-LAST:event_jbtnEnterActionPerformed
 
 public String getStopStatus() {
  String str = "";
  for (int i = 0; i < m_areaCount; i++) {
  if (m_apare[i] > 0) {
  str += " " + (i + 1) + " 區總車位:" + m_nos[i] + "\t當前空閒車位 " + m_apare[i] + " 個\n";
  } else {
  str += " " + (i + 1) + " 區總車位:" + m_nos[i] + "\t當前區無空閒車位\n";
  }  
  }
  return str;
 }
 
 public void setInfor(String infor) {
  this.jtexInfor.setText(infor);
 }
 
}

InitFrame.java

package com.parking;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
/*
 * InitFrame.java
 *
 * Created on 2008年9月2日,下午7:36
 */

/**
 *
 * @author cheng
 */
public class InitFrame extends JFrame {
 
 // 變數宣告 - 不進行修改
 //GEN-BEGIN:variables
 
 /**
 * 
 */
 private static final long serialVersionUID = 1L;

 private JButton jButton1;
 
 private JLabel jLabel1;
 
 private JLabel jLabel2;
 
 private JLabel jLabel3;
 
 private JSpinner jSpinnerStopArea;
 
 private JButton jbtnCancel;
 
 private JButton jbtnOK;
 
 public JButton jbtnStopCount;
 
 private JTextField jtxtCarCount;
 
 private JTextField jtxtStopCount;
  
 public int m_Area[];
 
 SpinnerNumberModel mdl;
 
 // 變數宣告結束//GEN-END:variables
 /** Creates new form InitFrame */
 public InitFrame() {
  initComponents();
  mdl = new SpinnerNumberModel();
  this.jSpinnerStopArea.setModel(mdl);
 }
  
 /** 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.
  */
 // <editor-fold defaultstate="collapsed" desc=" 生成的程式碼 ">//GEN-BEGIN:initComponents
 private void initComponents() { 
  
  jLabel1 = new JLabel();
  jtxtStopCount = new JTextField();
  jbtnStopCount = new JButton();
  jLabel2 = new JLabel();
  jSpinnerStopArea = new JSpinner();
  jLabel3 = new JLabel();
  jtxtCarCount = new JTextField();
  jButton1 = new JButton();
  jbtnOK = new JButton();
  jbtnCancel = new JButton();

  setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  
  setTitle("\u505c\u8f66\u573a\u521d\u59cb\u5316");
  
  addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent evt) {
    formWindowClosing(evt);
   }
  });

  jLabel1.setText("\u505c\u8f66\u533a\u57df\u4e2a\u6570\uff1a");

  jbtnStopCount.setText("\u8f93\u5165\u505c\u533a\u4e2a\u6570");
  
  jbtnStopCount.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnStopCountActionPerformed(evt);
   }
  });

  jLabel2.setText("\u505c\u8f66\u533a\u53f7\uff1a");

  jSpinnerStopArea.setEnabled(false);

  jLabel3.setText("\u505c\u8f66\u4f4d\u4e2a\u6570\uff1a");

  jtxtCarCount.setEnabled(false);

  jButton1.setText("\u8f93\u5165\u505c\u533a\u8f66\u4f4d\u4e2a\u6570");
  
  jButton1.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jButton1ActionPerformed(evt);
   }
  });

  jbtnOK.setText("\u786e\u5b9a");
  
  jbtnOK.setEnabled(false);
  
  jbtnOK.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnOKActionPerformed(evt);
   }
  });

  jbtnCancel.setText("\u53d6\u6d88");
  
  jbtnCancel.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnCancelActionPerformed(evt);
   }
  });

  GroupLayout layout = new GroupLayout(getContentPane());
  
  getContentPane().setLayout(layout);
  
  layout.setHorizontalGroup(
   layout.createParallelGroup(GroupLayout.Alignment.LEADING)
   .addGroup(layout.createSequentialGroup()
    .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
     .addGroup(layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
       .addGroup(layout.createSequentialGroup()
        .addComponent(jLabel2)
        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
        .addComponent(jSpinnerStopArea,GroupLayout.PREFERRED_SIZE,37,GroupLayout.PREFERRED_SIZE)
        .addGap(14,14,14)
        .addComponent(jLabel3,81,GroupLayout.PREFERRED_SIZE)
        .addGap(13,13,13)
        .addComponent(jtxtCarCount,117,GroupLayout.PREFERRED_SIZE))
       .addGroup(layout.createSequentialGroup()
        .addComponent(jLabel1)
        .addGap(24,24,24)
        .addComponent(jtxtStopCount,99,GroupLayout.PREFERRED_SIZE)
        .addGap(25,25,25)
        .addComponent(jbtnStopCount))))
     .addGroup(layout.createSequentialGroup()
      .addGap(29,29,29)
      .addComponent(jButton1,GroupLayout.DEFAULT_SIZE,137,Short.MAX_VALUE)
      .addGap(22,22,22)
      .addComponent(jbtnOK,65,Short.MAX_VALUE)
      .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jbtnCancel,66,GroupLayout.PREFERRED_SIZE)
      .addGap(23,23,23)))
    .addGap(51,51,51))
  );
  
  layout.setVerticalGroup( 
   layout.createParallelGroup(GroupLayout.Alignment.LEADING)
   .addGroup(layout.createSequentialGroup()
    .addGap(30,30,30)
    .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
     .addComponent(jLabel1)
     .addComponent(jtxtStopCount,GroupLayout.PREFERRED_SIZE)
     .addComponent(jbtnStopCount))
    .addGap(27,27,27)
    .addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING)
     .addComponent(jLabel2)
     .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
      .addComponent(jSpinnerStopArea,15,GroupLayout.PREFERRED_SIZE)
      .addComponent(jLabel3,GroupLayout.PREFERRED_SIZE)
      .addComponent(jtxtCarCount,GroupLayout.PREFERRED_SIZE)))
    .addGap(76,76,76)
    .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
     .addComponent(jButton1)
     .addComponent(jbtnOK)
     .addComponent(jbtnCancel))
    .addContainerGap(100,Short.MAX_VALUE))
  );
  
  pack();
  
 }// </editor-fold>//GEN-END:initComponents

 private void jbtnCancelActionPerformed(ActionEvent evt) {// GEN-FIRST:event_jbtnCancelActionPerformed
 // TODO 將在此處新增您的處理程式碼:
 JOptionPane.showMessageDialog(null,"您沒有初始化,無法執行");
 System.exit(-1);
 }// GEN-LAST:event_jbtnCancelActionPerformed

 private void jbtnOKActionPerformed(ActionEvent evt) {// GEN-FIRST:event_jbtnOKActionPerformed
 // TODO 將在此處新增您的處理程式碼:
 this.setVisible(false);
 this.removeNotify(); 
 WorkFram frm = new WorkFram(this);
// setValue(frm);
 frm.setVisible(true);
 }// GEN-LAST:event_jbtnOKActionPerformed

 private void formWindowClosing(WindowEvent evt) {// GEN-FIRST:event_formWindowClosing
 // TODO 將在此處新增您的處理程式碼:
 JOptionPane.showMessageDialog(null,"您沒有初始化,無法執行");
 System.exit(-1);
 }// GEN-LAST:event_formWindowClosing

 private void jButton1ActionPerformed(ActionEvent evt) {// GEN-FIRST:event_jButton1ActionPerformed
 // TODO 將在此處新增您的處理程式碼:
 boolean b = true;
 int n = ((Integer) mdl.getValue()).intValue() - 1;
 this.m_Area[n] = Integer.parseInt(this.jtxtCarCount.getText());
 for (int i = 0; i < m_Area.length; i++) {
 if (m_Area[i] <= 0) {
 b = false;
 
 }
 }
 try {
 mdl.setValue(mdl.getNextValue());
 this.jtxtCarCount.setText("");
 this.jtxtCarCount.setFocusable(true);
 } catch (Exception e) {
 }
 if (b)
 this.jbtnOK.setEnabled(true);
 }// GEN-LAST:event_jButton1ActionPerformed

 private void jbtnStopCountActionPerformed(ActionEvent evt) {// GEN-FIRST:event_jbtnStopCountActionPerformed
// TODO 將在此處新增您的處理程式碼:
  String s = this.jtxtStopCount.getText();
 int i = Integer.parseInt(s);
 m_Area = new int[i];
 for (i = 0; i < m_Area.length; i++) {
 this.m_Area[i] = -1;// Integer.parseInt
 }
 this.jSpinnerStopArea.setEnabled(true);
 this.jtxtCarCount.setEnabled(true);
 mdl.setMinimum(new Integer(1));
 mdl.setMaximum(new Integer(m_Area.length));
 mdl.setValue(new Integer(1));
 }// GEN-LAST:event_jbtnStopCountActionPerformed
 
 /**
  * @param args the command line arguments
  */
 
 public static void main(String args[]) {
  java.awt.EventQueue.invokeLater(new Runnable() {
   public void run() {
    new InitFrame().setVisible(true);
   }
  });  
 }
 
/* 
 public void setValue(WorkFram frm) {
  frm.m_areaCount = this.m_Area.length;
  frm.m_apare = new int[frm.m_areaCount];
  frm.m_nos = new int[frm.m_areaCount];
  for(int i = 0; i < frm.m_areaCount; i++){
   frm.m_apare[i] = this.m_Area[i];
   frm.m_nos[i] = this.m_Area[i];
  }
 }
*/
 
}

carThread.java

package com.parking;

/*
 * carThread.java
 *
 * Created on 2008年9月2日,下午9:02
 *
 * To change this template,choose Tools | Template Manager
 * and open the template in the editor.
 */

/**
 * 
 * @author cheng
 */
public class carThread extends Thread {

 private WorkFram frm;
 
 /** Creates a new instance of carThread */
 public carThread(WorkFram frm) {
 this.frm = frm;
 }
 
 public void run() {
 new carJFrame(frm).setVisible(true);
 }
 
}

carJFrame.java

package com.parking;

/*
 * carJFrame.java
 *
 * Created on 2008年9月2日,下午9:01
 */

/**
 *
 * @author cheng
 */

import javax.swing.*;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class carJFrame extends JFrame {
 
 /**
 * 
 */
 private static final long serialVersionUID = 1L;

 /**
  * @param args the command line arguments
  */
 
 // 變數宣告 - 不進行修改//GEN-BEGIN:variables
 
 private JButton jbtnEnterStop;
 
 private JButton jbtnLeftArea;
 
 private JButton jbtnLeftStop;
 
 private JButton jbtnLookUpArea;
 
 private JButton jbtnLookupPosition;
 
 private WorkFram mainFram;
 
 private int chooseArea;
 
 // 變數宣告結束//GEN-END:variables
 
 /** Creates new form carJFrame */
 
 public carJFrame(WorkFram frm) {
  initComponents();
  mainFram = frm;
 }
 
 /**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.
  */
 // <editor-fold defaultstate="collapsed" desc=" 生成的程式碼 ">//GEN-BEGIN:initComponents
 private void initComponents() {
  
  jbtnEnterStop = new JButton();
  jbtnLookUpArea = new JButton();
  jbtnLookupPosition = new JButton();
  jbtnLeftArea = new JButton();
  jbtnLeftStop = new JButton();

  setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  
  setTitle("\u505c\u8f66\u573a\u64cd\u4f5c");
  
  jbtnEnterStop.setText("\u8fdb\u5165\u505c\u8f66\u573a");
  
  jbtnEnterStop.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnEnterStopActionPerformed(evt);
   }
  });

  jbtnLookUpArea.setText("\u5bfb\u627e\u505c\u8f66\u533a");
  
  jbtnLookUpArea.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnLookUpAreaActionPerformed(evt);
   }
  });

  jbtnLookupPosition.setText("\u5bfb\u627e\u505c\u8f66\u4f4d");
  
  jbtnLookupPosition.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnLookupPositionActionPerformed(evt);
   }
  });

  jbtnLeftArea.setText("\u79bb\u5f00\u505c\u8f66\u533a");
  
  jbtnLeftArea.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnLeftAreaActionPerformed(evt);
   }
  });

  jbtnLeftStop.setText("\u79bb\u5f00\u505c\u8f66\u573a");
  
  jbtnLeftStop.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
    jbtnLeftStopActionPerformed(evt);
   }
  });
  
  jbtnEnterStop.setEnabled(true);
  jbtnLookUpArea.setEnabled(false);
  jbtnLookupPosition.setEnabled(false);
  jbtnLeftArea.setEnabled(false);
  jbtnLeftStop.setEnabled(false);
  
  addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent evt) {
    formWindowClosing(evt);
   }
  });

  GroupLayout layout = new GroupLayout(getContentPane());
  
  getContentPane().setLayout(layout);
  
  layout.setHorizontalGroup(
   layout.createParallelGroup(GroupLayout.Alignment.LEADING)
   .addGroup(layout.createSequentialGroup()
    .addGap(102,102,102)
    .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
     .addComponent(jbtnLeftStop)
     .addComponent(jbtnLeftArea)
     .addComponent(jbtnLookupPosition)
     .addComponent(jbtnLookUpArea)
     .addComponent(jbtnEnterStop))
    .addContainerGap(205,Short.MAX_VALUE))
  );
  
  layout.setVerticalGroup(
   layout.createParallelGroup(GroupLayout.Alignment.LEADING)
   .addGroup(layout.createSequentialGroup()
    .addGap(56,56,56)
    .addComponent(jbtnEnterStop)
    .addGap(20,20,20)
    .addComponent(jbtnLookUpArea)
    .addGap(22,22)
    .addComponent(jbtnLookupPosition)
    .addGap(24,24)
    .addComponent(jbtnLeftArea)
    .addGap(19,19,19)
    .addComponent(jbtnLeftStop)
    .addContainerGap(44,Short.MAX_VALUE))
  );
  
  pack();
  
 }// </editor-fold>//GEN-END:initComponents

 private void jbtnLeftStopActionPerformed(ActionEvent evt) {//GEN-FIRST:event_jbtnLeftStopActionPerformed
// TODO 將在此處新增您的處理程式碼:
  //離開停車場,交存車卡
  
  JOptionPane.showMessageDialog(null,"停車卡收回,再見!");
/*  jbtnEnterStop.setEnabled(true);
  jbtnLookUpArea.setEnabled(false);
  jbtnLookupPosition.setEnabled(false);
  jbtnLeftArea.setEnabled(false);
  jbtnLeftStop.setEnabled(false);
*/  
  this.setVisible(false);
 this.removeNotify();
 
 }//GEN-LAST:event_jbtnLeftStopActionPerformed

 private void jbtnLeftAreaActionPerformed(ActionEvent evt) {//GEN-FIRST:event_jbtnLeftAreaActionPerformed
// TODO 將在此處新增您的處理程式碼:
  //離開停車區
  
  int confirm = JOptionPane.showConfirmDialog(null,"確定要離開 " + chooseArea + " 號停車區?","離開停車區",JOptionPane.YES_NO_OPTION);
 if (confirm == JOptionPane.YES_OPTION) {  
 mainFram.m_apare[chooseArea - 1]++;
// mainFram.setInfor(mainFram.getStopStatus());
 jbtnLeftArea.setEnabled(false);
 jbtnLookUpArea.setEnabled(true);
 jbtnLeftStop.setEnabled(true);
 } else if (confirm == JOptionPane.NO_OPTION) {
 JOptionPane.showMessageDialog(null,"您已放棄了離開該車區!");
 jbtnLookUpArea.setEnabled(true);
 } 
   
 }//GEN-LAST:event_jbtnLeftAreaActionPerformed

 private void jbtnLookupPositionActionPerformed(ActionEvent evt) {//GEN-FIRST:event_jbtnLookupPositionActionPerformed
// TODO 將在此處新增您的處理程式碼:
  //進入停車區,尋找停車位

  int confirm = JOptionPane.showConfirmDialog(null,"您已經選擇了" + chooseArea + " 號停車區," + "確定要進入該停車區?","進行停車區尋找車位",JOptionPane.YES_NO_OPTION);
 if (confirm == JOptionPane.YES_OPTION) {  
 mainFram.m_apare[chooseArea - 1]--;
// mainFram.setInfor(mainFram.getStopStatus());
 jbtnLookUpArea.setEnabled(false);
 jbtnLookupPosition.setEnabled(false);
 jbtnLeftArea.setEnabled(true);
 jbtnLeftStop.setEnabled(false);
 } else if (confirm == JOptionPane.NO_OPTION) {
 JOptionPane.showMessageDialog(null,"您已放棄了進入該車區!");
 jbtnLookUpArea.setEnabled(true);
 jbtnLookupPosition.setEnabled(false);
 } 
  
 }//GEN-LAST:event_jbtnLookupPositionActionPerformed

 private void jbtnLookUpAreaActionPerformed(ActionEvent evt) {//GEN-FIRST:event_jbtnLookUpAreaActionPerformed
// TODO 將在此處新增您的處理程式碼:
  //進入停車場,尋找停車區
  
  ImageIcon icon = new ImageIcon("test.gif");
 int[] freeArea = getFreeArea();
 Object[] freeAreas = new Object[freeArea.length];
 for (int i = 0; i < freeArea.length; i++) {
 freeAreas[i] = freeArea[i];
 }
 
 Integer choose = (Integer)JOptionPane.showInputDialog(null,"當前停車場狀況: \n" + mainFram.getStopStatus() + "\n請選擇一個空閒車區:","當前可先空閒車區: ",JOptionPane.PLAIN_MESSAGE,icon,freeAreas,(Integer)freeAreas[0]);
 
 if (choose != null) { 
 JOptionPane.showMessageDialog(null,"您選擇了進入" + choose.intValue() + "車區");
 chooseArea = choose.intValue();
 jbtnLookUpArea.setEnabled(false);
 jbtnLookupPosition.setEnabled(true);
 } else {
 JOptionPane.showMessageDialog(null,"您沒有選擇車區!");
 } 
  
 }//GEN-LAST:event_jbtnLookUpAreaActionPerformed

 private void jbtnEnterStopActionPerformed(ActionEvent evt) {//GEN-FIRST:event_jbtnEnterStopActionPerformed
// TODO 將在此處新增您的處理程式碼:
  //領卡,進入停車場
  
  boolean isFull = true;
  for (int i = 0; i < mainFram.m_areaCount; i++) {
  if (mainFram.m_apare[i] > 0) {
  isFull = false;
  } 
  }
  
  if (isFull) {
  JOptionPane.showMessageDialog(null,"當前車場無空閒車區,請稍後再試!");
  } else {
  jbtnEnterStop.setEnabled(false);
   jbtnLookUpArea.setEnabled(true);
   jbtnLookupPosition.setEnabled(false);
   jbtnLeftArea.setEnabled(false);
   jbtnLeftStop.setEnabled(false);
   JOptionPane.showMessageDialog(null,"成功領取停車卡,請進去車場尋找停車區位!");
  }
 
 }//GEN-LAST:event_jbtnEnterStopActionPerformed
 
 private void formWindowClosing(WindowEvent evt) {// GEN-FIRST:event_formWindowClosing
  // TODO 將在此處新增您的處理程式碼:
  int confirm = JOptionPane.showConfirmDialog(null,"確定退出?","退出停車區",JOptionPane.YES_NO_OPTION);
 if (confirm == JOptionPane.YES_OPTION) {
 if (chooseArea > 0) {
 mainFram.m_apare[chooseArea - 1]--; 
 }
 this.setVisible(false);
 this.removeNotify();
 } else {
 this.setVisible(true);
 }
 }// GEN-LAST:event_formWindowClosing
 
 public int[] getFreeArea() {
  int count = 0;
  for (int i = 0; i < mainFram.m_areaCount; i++) {
  if (mainFram.m_apare[i] > 0) {
  count++;
  } 
  }
  
  int[] freeArea = new int[count];
  
  for (int i = 0,j = 0; i < mainFram.m_areaCount; i++) {
  if (mainFram.m_apare[i] > 0) {
  freeArea[j++] = i + 1;
  } 
  }
   
  return freeArea;
 }
  
}

原始碼下載:java停車場管理系統

更多學習資料請關注專題《管理系統開發》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。