ตัวอย่าง โปรแกรมยืมคืน โปรเจ็คเตอร์และโน๊ตบุ๊ค (Java NetBeans)

ในห้อง 'คอมพิวเตอร์ & อินเตอร์เน็ต' ตั้งกระทู้โดย ledphong, 12 มีนาคม 2015.

  1. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่มบันทึกข้อมูล หรือ btnAdd
    ===================================
    private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
    InsertData();
    }

    private boolean InsertData()
    {
    //=====กำหนดตัวแปร===================================
    String CodePK = txtCodePK.getText();//ลำดับที่ Primary Key
    String FullNameBorrow = txtFullNameBorrow.getText();//ชื่อ-สกุล ผู้ยืม
    String Department = (String)cbDepartment.getSelectedItem();//ชื่อแผนก
    String Equipment = (String)cbEquipment.getSelectedItem();//อุปกรณ์ที่ยืม
    String PackagID = txtPackagID.getText();//หมายเลขคุรุภัณฑ์
    String DateBorrow = (String)cbDateBorrow.getSelectedItem();//วันที่ยืม
    String MonthBorrow = (String)cbMonthBorrow.getSelectedItem();//เดือนที่ยืม
    String YearBorrow = (String)cbYearBorrow.getSelectedItem();//ปีที่ยืม
    String DateSend = (String)cbDateSend.getSelectedItem();//วันที่คืน
    String MonthSend = (String)cbMonthSend.getSelectedItem();//เดือนที่คืน
    String YearSend = (String)cbYearSend.getSelectedItem();//ปีที่คืน
    String BudgetYear = (String)cbBudgetYear.getSelectedItem();//ปีงบประมาณ
    String FullNameSend = txtFullNameSend.getText();//ชื่อ-สกุล ผู้ส่ง
    String CodeID = txtCodeID.getText();
    String Status = (String)cbStatus.getSelectedItem();//รายงานสถานะ
    //==================================================

    if (CodePK.equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณากดปุ่ม GenID ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    txtCodePK.requestFocusInWindow();
    return false;
    }
    if (FullNameBorrow.equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาพิมพ์ ชื่อ-สกุลผู้ยืม ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    txtFullNameBorrow.requestFocusInWindow();
    return false;
    }
    if (cbDepartment.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก ชื่อแผนก ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbDepartment.requestFocusInWindow();
    return false;
    }
    if (cbEquipment.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก อุปกรณ์ที่ยืม ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbEquipment.requestFocusInWindow();
    return false;
    }
    if (PackagID.equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก หมายเลขคุรุภัณฑ์ ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    txtPackagID.requestFocusInWindow();
    return false;
    }
    if (cbDateBorrow.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก วันที่ยืม ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbDateBorrow.requestFocusInWindow();
    return false;
    }
    if (cbMonthBorrow.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก เดือนที่ยืม ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbMonthBorrow.requestFocusInWindow();
    return false;
    }
    if (cbYearBorrow.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก ปีที่ยืม ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbYearBorrow.requestFocusInWindow();
    return false;
    }
    if (cbDateSend.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก วันที่คืน ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbDateSend.requestFocusInWindow();
    return false;
    }
    if (cbMonthSend.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก เดือนที่คืน ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbMonthSend.requestFocusInWindow();
    return false;
    }
    if (cbYearSend.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก ปีที่คืน ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbYearSend.requestFocusInWindow();
    return false;
    }
    if (cbBudgetYear.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก ปีงบประมาณ ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbBudgetYear.requestFocusInWindow();
    return false;
    }
    if (FullNameSend.equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาพิมพ์ ชื่อ-สกุลผู้ส่ง ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    txtFullNameSend.requestFocusInWindow();
    return false;
    }
    if (cbStatus.getSelectedItem() == null)
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาเลือก รายงานสถานะ ก่อนครับ " ,
    "รายงานสถานะ",JOptionPane.QUESTION_MESSAGE);
    cbStatus.requestFocusInWindow();
    return false;
    }

    Boolean status = false;
    try{
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbPermits.mdb");

    PreparedStatement pstmt = connect.prepareStatement("INSERT INTO tblPermits "+
    "(CodePK,FullNameBorrow,Department,Equipment,PackagID,DateBorrow,MonthBorrow, "+
    "YearBorrow,DateSend,MonthSend,YearSend,BudgetYear,FullNameSend,CodeID,Status) " +
    "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
    pstmt.setString(1, CodePK);
    pstmt.setString(2, FullNameBorrow);
    pstmt.setString(3, Department);
    pstmt.setString(4, Equipment);
    pstmt.setString(5, PackagID);
    pstmt.setString(6, DateBorrow);
    pstmt.setString(7, MonthBorrow);
    pstmt.setString(8, YearBorrow);
    pstmt.setString(9, DateSend);
    pstmt.setString(10, MonthSend);
    pstmt.setString(11, YearSend);
    pstmt.setString(12, BudgetYear);
    pstmt.setString(13, FullNameSend);
    pstmt.setString(14, CodeID);
    pstmt.setString(15, Status);

    pstmt.executeUpdate();

    JOptionPane.showMessageDialog(null,"บันทึกข้อมูลเรียบร้อยแล้ว","รายงานสถานะ",JOptionPane.INFORMATION_MESSAGE);
    showdata();
    FormatCell();
    btnRefresh.doClick();

    status = true;
    } catch(Exception e){
    JOptionPane.showMessageDialog(null, "บันทึกข้อมูลผิดพลาด!\n"+e.getMessage());
    }
    return status;
    }
     
  2. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ทำปุ่มค้นหาข้อมูล (btnSearch) ก่อนทำปุ่มแก้ไขข้อมูล (btnEdit)
    ==================================
    private void btnSearchActionPerformed(java.awt.event.ActionEvent evt) {
    if ((txtSearch.getText().equals("")) && txtCodePK.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาพิมพ์ค้นหาข้อมูลก่อน " ,
    "รายงานสถานะ",JOptionPane.PLAIN_MESSAGE);
    return ;
    }

    Scanner scanner = new Scanner(txtSearch.getText());
    if (scanner.hasNextInt()) {
    try{
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbPermits.mdb");
    String sql = "Select * from tblPermits " +
    "Where CodePK LIKE '" + txtSearch.getText() + "' " ;
    pstmt = connect.prepareStatement(sql);
    rs = pstmt.executeQuery();

    if(!rs.next() ){
    JOptionPane.showMessageDialog(null,"ไม่พบข้อมูลที่ต้องการค้นหา","รายงานสถานะ",JOptionPane.INFORMATION_MESSAGE);
    txtSearch.setText("");
    }else{
    do{
    txtCodePK.setText(String.valueOf(rs.getString("CodePK")));
    txtFullNameBorrow.setText(String.valueOf(rs.getString("FullNameBorrow")));
    cbDepartment.setSelectedItem(String.valueOf(rs.getString("Department")));
    cbEquipment.setSelectedItem(String.valueOf(rs.getString("Equipment")));
    txtPackagID.setText(String.valueOf(rs.getString("PackagID")));
    cbDateBorrow.setSelectedItem(String.valueOf(rs.getString("DateBorrow")));
    cbMonthBorrow.setSelectedItem(String.valueOf(rs.getString("MonthBorrow")));
    cbYearBorrow.setSelectedItem(String.valueOf(rs.getString("YearBorrow")));
    cbDateSend.setSelectedItem(String.valueOf(rs.getString("DateSend")));
    cbMonthSend.setSelectedItem(String.valueOf(rs.getString("MonthSend")));
    cbYearSend.setSelectedItem(String.valueOf(rs.getString("YearSend")));
    cbBudgetYear.setSelectedItem(String.valueOf(rs.getString("BudgetYear")));
    txtFullNameSend.setText(String.valueOf(rs.getString("FullNameSend")));
    txtCodeID.setText(String.valueOf(rs.getString("CodeID")));
    cbStatus.setSelectedItem(String.valueOf(rs.getString("Status")));

    //ปิดปุ่มและtextBox
    btnGenID.setEnabled(false);
    btnAdd.setEnabled(false);
    btnSearch.setEnabled(false);
    txtSearch.setEnabled(false);
    txtCodePK.setEnabled(false);
    txtCodeID.setEnabled(false);
    } while (rs.next());
    showdata();
    FormatCell();
    }
    }catch(Exception ex){
    JOptionPane.showMessageDialog(null, "ไม่สามารถแสดงข้อมูลได้!\n"+ex.getMessage());
    }
    }else {
    JOptionPane.showMessageDialog(null,"ข้อมูลที่ป้อนเข้ามาไม่ใช่ตัวเลขครับ");
    txtSearch.setText("");
    }
    }


    private void btnEditActionPerformed(java.awt.event.ActionEvent evt) {
    UpdateData();
    }

    private boolean UpdateData()
    {
    if (txtCodePK.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาพิมพ์ค้นหาข้อมูลก่อนและกดปุ่มค้นหา" ,
    "รายงานสถานะ",JOptionPane.PLAIN_MESSAGE);
    txtSearch.requestFocusInWindow();
    return false;
    }

    int CodePK = Integer.parseInt(txtCodePK.getText());
    String FullNameBorrow = txtFullNameBorrow.getText();
    String Department = (String)cbDepartment.getSelectedItem();
    String Equipment = (String)cbEquipment.getSelectedItem();
    String PackagID = txtPackagID.getText();
    String DateBorrow = (String)cbDateBorrow.getSelectedItem();
    String MonthBorrow = (String)cbMonthBorrow.getSelectedItem();
    String YearBorrow = (String)cbYearBorrow.getSelectedItem();
    String DateSend = (String)cbDateSend.getSelectedItem();
    String MonthSend = (String)cbMonthSend.getSelectedItem();
    String YearSend = (String)cbYearSend.getSelectedItem();
    String BudgetYear = (String)cbBudgetYear.getSelectedItem();
    String FullNameSend = txtFullNameSend.getText();
    String CodeID = txtCodeID.getText();
    String Status = (String)cbStatus.getSelectedItem();

    Boolean status = false;
    try {
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbPermits.mdb");

    PreparedStatement pstmt = connect.prepareStatement("UPDATE tblPermits SET " +
    "FullNameBorrow = ?,"+
    "Department = ?,"+
    "Equipment = ?,"+
    "PackagID = ?,"+
    "DateBorrow = ?,"+
    "MonthBorrow = ?,"+
    "YearBorrow = ?,"+
    "DateSend = ?,"+
    "MonthSend = ?,"+
    "YearSend = ?,"+
    "BudgetYear = ?,"+
    "FullNameSend = ?,"+
    "CodeID = ?,"+
    "Status = ? "+
    "WHERE CodePK = ?");

    pstmt.setString(1, FullNameBorrow);
    pstmt.setString(2, Department);
    pstmt.setString(3, Equipment);
    pstmt.setString(4, PackagID);
    pstmt.setString(5, DateBorrow);
    pstmt.setString(6, MonthBorrow);
    pstmt.setString(7, YearBorrow);
    pstmt.setString(8, DateSend);
    pstmt.setString(9, MonthSend);
    pstmt.setString(10, YearSend);
    pstmt.setString(11, BudgetYear);
    pstmt.setString(12, FullNameSend);
    pstmt.setString(13, CodeID);
    pstmt.setString(14, Status);
    pstmt.setInt(15, CodePK);
    pstmt.executeUpdate();

    JOptionPane.showMessageDialog(null,"แก้ไขข้อมูลเรียบร้อยแล้ว","รายงานสถานะ",JOptionPane.INFORMATION_MESSAGE);
    showdata();
    btnRefresh.doClick();

    status = true;
    } catch(Exception e){
    JOptionPane.showMessageDialog(null, "แก้ไขข้อมูลผิดพลาด!\n"+e.getMessage());
    }
    return status;
    }
     
  3. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่มลบข้อมูล (btnDelete)
    ===============================
    private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
    DeleteData();
    }


    private boolean DeleteData()
    {
    if (txtCodePK.getText().equals(""))
    {
    JOptionPane.showMessageDialog(null,
    "กรุณาพิมพ์ค้นหาข้อมูลก่อนและกดปุ่มค้นหา" ,
    "รายงานสถานะ",JOptionPane.PLAIN_MESSAGE);
    txtSearch.requestFocusInWindow();
    return false;
    }

    Boolean status = false;
    int conf = JOptionPane.showConfirmDialog(null,"คุณต้องการลบข้อมูลหรือไม่","รายงานสถานะ",JOptionPane.YES_NO_OPTION);
    if(conf==0){
    int CodePK = Integer.parseInt(txtCodePK.getText());

    try {
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbPermits.mdb");

    PreparedStatement pstmt = connect.prepareStatement("DELETE FROM tblPermits WHERE CodePK = ?");

    pstmt.setInt(1, CodePK);
    pstmt.executeUpdate();

    JOptionPane.showMessageDialog(null,"ลบข้อมูลเรียบร้อยแล้ว","รายงานสถานะ",JOptionPane.INFORMATION_MESSAGE);

    showdata();
    btnRefresh.doClick();
    status = true;
    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"ลบข้อมูลผิดพลาด!\n"+ex.getMessage());
    }
    }
    return status;
    }
     
  4. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่มออก Excel หรือ ปุ่ม btnExportToExcel
    ==============================
    private void btnExportToExcelActionPerformed(java.awt.event.ActionEvent evt) {
    try {
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbPermits.mdb");

    PreparedStatement pstmt = connect.prepareStatement("SELECT * FROM tblPermits ORDER BY CodeID ASC");

    ResultSet rec = pstmt.executeQuery();

    //*** for Excel Report ***//
    String fileName = "C:\\java\\myExcel.xls";

    WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName));

    //*** Create Font ***//
    WritableFont fontBlue = new WritableFont(WritableFont.TIMES, 10);
    fontBlue.setColour(Colour.BLUE);

    WritableFont fontRed = new WritableFont(WritableFont.TIMES, 10);
    fontRed.setColour(Colour.RED);

    //*** Sheet 1 ***//
    WritableSheet ws1 = workbook.createSheet("mySheet1", 0);

    //*** Header ***//
    WritableCellFormat cellFormat1 = new WritableCellFormat(fontRed);
    //cellFormat2.setBackground(Colour.ORANGE);
    cellFormat1.setAlignment(Alignment.CENTRE);
    cellFormat1.setVerticalAlignment(VerticalAlignment.CENTRE);
    cellFormat1.setBorder(Border.ALL, BorderLineStyle.THIN);

    //*** Data ***//
    WritableCellFormat cellFormat2 = new WritableCellFormat(fontBlue);
    // cellFormat2.setWrap(true);
    cellFormat2.setAlignment(jxl.format.Alignment.LEFT);
    cellFormat2.setVerticalAlignment(VerticalAlignment.CENTRE);
    cellFormat2.setWrap(true);
    cellFormat2.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.HAIR,
    jxl.format.Colour.BLACK);
    cellFormat2.setBorder(Border.ALL, BorderLineStyle.THIN);

    ws1.mergeCells(0, 0, 14, 0);
    Label lable = new Label(0, 0,"โปรแกรมยืม-คืน โปรเจ็คเตอร์และโน๊ตบุ๊ค V.2015 (Java NetBeans 8.0.2)", cellFormat1);
    ws1.addCell(lable);

    //*** Header ***//
    ws1.setColumnView(0, 8); // Colummn CodePK
    ws1.addCell(new Label(0,1,"ลำดับที่",cellFormat1));

    ws1.setColumnView(1, 25); // Column FullNameBorrow
    ws1.addCell(new Label(1,1,"ชื่อ-สกุลผู้ยืม",cellFormat1));

    ws1.setColumnView(2, 25); // Column Department
    ws1.addCell(new Label(2,1,"ชื่อแผนก",cellFormat1));

    ws1.setColumnView(3, 15); // Column Equipment
    ws1.addCell(new Label(3,1,"อุปกรณ์ที่ยืม",cellFormat1));

    ws1.setColumnView(4, 15); // Column PackagID
    ws1.addCell(new Label(4,1,"หมายเลขคุรุภัณฑ์",cellFormat1));

    ws1.setColumnView(5, 8); // Column DateBorrow
    ws1.addCell(new Label(5,1,"วันที่ยืม",cellFormat1));

    ws1.setColumnView(6, 10); // Column MonthBorrow
    ws1.addCell(new Label(6,1,"เดือนที่ยืม",cellFormat1));

    ws1.setColumnView(7, 8); // Column YearBorrow
    ws1.addCell(new Label(7,1,"ปีที่ยืม",cellFormat1));

    ws1.setColumnView(8, 8); // Column DateSend
    ws1.addCell(new Label(8,1,"วันที่คืน",cellFormat1));

    ws1.setColumnView(9, 10); // Column MonthSend
    ws1.addCell(new Label(9,1,"เดือนที่คืน",cellFormat1));

    ws1.setColumnView(10, 8); // Column YearSend
    ws1.addCell(new Label(10,1,"ปีที่คืน",cellFormat1));

    ws1.setColumnView(11, 12); // Column BudgetYear
    ws1.addCell(new Label(11,1,"ปีงบประมาณ",cellFormat1));

    ws1.setColumnView(12, 25); // Column FullNameSend
    ws1.addCell(new Label(12,1,"ชื่อ-สกุลผู้ส่ง",cellFormat1));

    ws1.setColumnView(13, 8); // Column CodeID
    ws1.addCell(new Label(13,1,"CodeID",cellFormat1));

    ws1.setColumnView(14, 15); // Column Status
    ws1.addCell(new Label(14,1,"รายงานสถานะ",cellFormat1));

    int iRows = 2;
    while((rec!=null) && (rec.next()))
    {
    ws1.addCell(new Label(0,iRows,rec.getString("CodePK"),cellFormat2));
    ws1.addCell(new Label(1,iRows,rec.getString("FullNameBorrow"),cellFormat2));
    ws1.addCell(new Label(2,iRows,rec.getString("Department"),cellFormat2));
    ws1.addCell(new Label(3,iRows,rec.getString("Equipment"),cellFormat2));
    ws1.addCell(new Label(4,iRows,rec.getString("PackagID"),cellFormat2));
    ws1.addCell(new Label(5,iRows,rec.getString("DateBorrow"),cellFormat2));
    ws1.addCell(new Label(6,iRows,rec.getString("MonthBorrow"),cellFormat2));
    ws1.addCell(new Label(7,iRows,rec.getString("YearBorrow"),cellFormat2));
    ws1.addCell(new Label(8,iRows,rec.getString("DateSend"),cellFormat2));
    ws1.addCell(new Label(9,iRows,rec.getString("MonthSend"),cellFormat2));
    ws1.addCell(new Label(10,iRows,rec.getString("YearSend"),cellFormat2));
    ws1.addCell(new Label(11,iRows,rec.getString("BudgetYear"),cellFormat2));
    ws1.addCell(new Label(12,iRows,rec.getString("FullNameSend"),cellFormat2));
    ws1.addCell(new Label(13,iRows,rec.getString("CodeID"),cellFormat2));
    ws1.addCell(new Label(14,iRows,rec.getString("Status"),cellFormat2));
    ++iRows;
    }
    //========================================

    workbook.write();
    workbook.close();
    JOptionPane.showMessageDialog(null,"ออกทางโปรแกรม MS Excel เรียบร้อยแล้ว.","รายงานสถานะ",JOptionPane.INFORMATION_MESSAGE);

    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error Export To Excel!\n"+ex.getMessage());
    }
    }
     
  5. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ไฟล์รวมโค้ดทั้งหมดเป็นไฟล์ Text
     

    ไฟล์ที่แนบมา:

  6. ledphong

    ledphong เป็นที่รู้จักกันดี

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    เราขอพัฒนา IntelliJ IDEA ต่อจาก NetBeans
     

แชร์หน้านี้

Loading...