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

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

  1. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    11.แก้ไขการเติมรหัสผ่านใหม่ครับ(ปกติต้องขึ้นดอกจันจึงจะถูกต้อง)
    =================
    แล้วลองกด F6 ดูอีกรอบครับ

    ถ้าขึ้นตามภาพกรอบที่ 61 แสดงว่าผ่านครับ

    จบการนำเสนอแบบ login (แถม Code Login ด้วย)

    ช่วงท้ายแนบไฟล์ Code Login มาให้ด้วย
     

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

    • 58.png
      58.png
      ขนาดไฟล์:
      140 KB
      เปิดดู:
      245
    • 59.png
      59.png
      ขนาดไฟล์:
      143.5 KB
      เปิดดู:
      177
    • 60.png
      60.png
      ขนาดไฟล์:
      156.1 KB
      เปิดดู:
      157
    • 61.png
      61.png
      ขนาดไฟล์:
      84.6 KB
      เปิดดู:
      160
    • Code Login.txt
      ขนาดไฟล์:
      7.4 KB
      เปิดดู:
      103
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 14 มีนาคม 2015
  2. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ภาคสนาม FormAdd
    ===========================
     

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

    • 62.png
      62.png
      ขนาดไฟล์:
      98.4 KB
      เปิดดู:
      116
  3. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ตัวอย่าง หน้าตาโปรแกรมที่ทำมาจาก Java Eclipse
    ==========================
     

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

    • 2.png
      2.png
      ขนาดไฟล์:
      748.8 KB
      เปิดดู:
      140
  4. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    12.การกดปุ่ม Enter แทนการคลิ๊ก ปุ่มตกลง
    ======================
    FormLogin
    ======================
    import java.awt.event.KeyEvent;

    private void txtPasswordKeyPressed(java.awt.event.KeyEvent evt) {
    if(evt.getKeyCode()==KeyEvent.VK_ENTER){
    try{
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbPermits.mdb");
    String sql = "select * from tblUser where UserName=? and Password=?";
    pstmt = connect.prepareStatement(sql);
    pstmt.setString(1,txtUserName.getText());
    pstmt.setString(2,txtPassword.getText());
    rs = pstmt.executeQuery();
    if(rs.next()){
    FormAdd f1 = new FormAdd();
    f1.setVisible(true);
    this.setVisible(false);
    rs.close();
    pstmt.close();
    }else{
    JOptionPane.showMessageDialog(null,"กรุณา Login & Password อีกครั้ง","รายงานสถานะ",JOptionPane.PLAIN_MESSAGE);
    }
    }catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Login Failed!\n"+ex.getMessage());
    }

    }
    }
     

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

    • 5.png
      5.png
      ขนาดไฟล์:
      152.8 KB
      เปิดดู:
      112
    • 6.png
      6.png
      ขนาดไฟล์:
      158.7 KB
      เปิดดู:
      117
    • 7.png
      7.png
      ขนาดไฟล์:
      166.8 KB
      เปิดดู:
      108
    • 8.png
      8.png
      ขนาดไฟล์:
      160.4 KB
      เปิดดู:
      107
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 14 มีนาคม 2015
  5. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    13.รูปแบบฟอร์มหน้าตา FormAdd
    ==================
     

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

    • 1.png
      1.png
      ขนาดไฟล์:
      98.4 KB
      เปิดดู:
      127
    • 9.png
      9.png
      ขนาดไฟล์:
      141.3 KB
      เปิดดู:
      132
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 14 มีนาคม 2015
  6. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    14.ตัวอย่าง หน้าตา FormAdd เวลาลงข้อมูล
    =======================
     

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

    • 10.png
      10.png
      ขนาดไฟล์:
      103.8 KB
      เปิดดู:
      94
    • 11.png
      11.png
      ขนาดไฟล์:
      156.2 KB
      เปิดดู:
      99
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 14 มีนาคม 2015
  7. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    15.กำหนดชื่อตัวแปรและชื่อตาราง
    =================
    FormAdd
    ============
     

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

    • 12.png
      12.png
      ขนาดไฟล์:
      175.3 KB
      เปิดดู:
      109
  8. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    16.เพิ่มชื่อตารางในฐานข้อมูล dbPermits.mdb (ใน C:\java\dbPermits.mdb)
    ==========================================
    ชื่อตาราง tblPermits
     

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

    • 14.png
      14.png
      ขนาดไฟล์:
      165.2 KB
      เปิดดู:
      110
    • 15.png
      15.png
      ขนาดไฟล์:
      152.2 KB
      เปิดดู:
      100
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 15 มีนาคม 2015
  9. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    เทคนิคการออกแบบหน้าจอให้สวยงาม
    ===================
    1.ลาก panel ออกมาก่อน ลากอุปกรณ์อื่นมาวางครับ
    ในที่นี้มี Panel 2 ที่
    ที่แรกคืออยู่ที่ ตาราง
    ที่สองอยู่ที่ ด้านล่าง

    เวลาใช้คำสั่งขยายเต็มจอตารางจะได้ไม่เล็กครับ
     

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

    • 16.png
      16.png
      ขนาดไฟล์:
      154.6 KB
      เปิดดู:
      94
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 15 มีนาคม 2015
  10. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    17.โค้ดเตรียมพร้อม
    ============================
    ดูใน File Code Prepare Stucture เอาน่ะครับ
    และไฟล์ Java NetBeans.zip ด้วย
     

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

    • 17.png
      17.png
      ขนาดไฟล์:
      174.6 KB
      เปิดดู:
      108
    • Code Prepare Stucture.txt
      ขนาดไฟล์:
      32.7 KB
      เปิดดู:
      261
    • 18.png
      18.png
      ขนาดไฟล์:
      176.7 KB
      เปิดดู:
      90
    • 19.png
      19.png
      ขนาดไฟล์:
      113.2 KB
      เปิดดู:
      100
    • JavaNetBeans.zip
      ขนาดไฟล์:
      5.9 MB
      เปิดดู:
      82
    • 24.png
      24.png
      ขนาดไฟล์:
      150.4 KB
      เปิดดู:
      93
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 15 มีนาคม 2015
  11. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    18.คำสั่ง btnGenID หรือปุ่มกำหนดเลขอัตโนมัติ (ปุ่ม GenID)
    =========================
    //=======กำหนดตัวเลขแบบอัตโนมัติให้กับฐานข้อมูล===========================
    try {
    String sql = "SELECT nvl(max(CodePK),0) FROM tblPermits";
    pstmt = connect.prepareStatement(sql);
    rs = pstmt.executeQuery();
    if (rs.next()) {
    int maxID = rs.getInt(1)+1;
    txtCodePK.setText(String.valueOf(maxID));
    String paded = String.format("%7s",String.valueOf(maxID)).replace(' ', '0');
    txtCodeID.setText(paded);
    }
    //ปิดปุ่ม
    btnGenID.setEnabled(false);
    btnEdit.setEnabled(false);
    btnDelete.setEnabled(false);
    btnSearch.setEnabled(false);
    //ปิด textBox
    txtSearch.setEnabled(false);
    txtCodePK.setEnabled(false);
    txtCodeID.setEnabled(false);
    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error Auto GenID!\n"+ex.getMessage());
    }
    //===============================================================
     

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

    • 20.png
      20.png
      ขนาดไฟล์:
      161.9 KB
      เปิดดู:
      103
    • 22.png
      22.png
      ขนาดไฟล์:
      167.6 KB
      เปิดดู:
      89
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 15 มีนาคม 2015
  12. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    19.ลองรันดู ถ้าได้ตามรูปแสดงว่าผ่านครับ
    =============================
    ถ้าถูก txtCodePK,txtCodeID,txtSearch ต้องทึบเพื่อไม่ให้มีการแก้ไขข้อมูลได้
    ส่วนปุ่ม btnGenID,btnDelete,btnEdit,btnSearch จะทึบไว้เพื่อไม่ให้ทำการรายการนี้ได้
    ส่วนปุ่ม btnAdd,btnRefresh,btnExportToExcel ใช้งานได้ตามปกติ
    =============================
     

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

    • 21.png
      21.png
      ขนาดไฟล์:
      105.8 KB
      เปิดดู:
      101
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 15 มีนาคม 2015
  13. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    20.ปุ่มเพิ่มข้อมูล btnAdd
    ===============================
     

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

    • 23.png
      23.png
      ขนาดไฟล์:
      167.9 KB
      เปิดดู:
      97
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 15 มีนาคม 2015
  14. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    NetBeans x86 คือ 32 bit
     

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

    • 25.png
      25.png
      ขนาดไฟล์:
      210.2 KB
      เปิดดู:
      87
  15. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    21.รูป FormAdd ใหม่
    ==========================
     

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

    • 31.png
      31.png
      ขนาดไฟล์:
      116.8 KB
      เปิดดู:
      85
  16. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    22.ออกแบบฐานข้อมูล dbPermits.mdb
    ======================
    C:\java\dbPermits.mdb

    สร้างสองตาราง ชื่อ tblUser กับ tblPermits
     

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

    • 32.png
      32.png
      ขนาดไฟล์:
      148.1 KB
      เปิดดู:
      105
    • 33.png
      33.png
      ขนาดไฟล์:
      174.6 KB
      เปิดดู:
      80
    • 34.png
      34.png
      ขนาดไฟล์:
      165.9 KB
      เปิดดู:
      89
    แก้ไขครั้งล่าสุดโดยผู้ดูแล: 15 มีนาคม 2015
  17. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    คำสั่งการโชว์ตาราง
    ===================================
    private void showdata()
    {
    try
    {
    connect=DriverManager.getConnection("jdbc:ucanaccess://C:\\java\\dbPermits.mdb");
    Vector col = new Vector();//แสดงผลข้อมูลแบบตาราง
    Vector row = new Vector();
    col.add("ลำดับที่");//ชื่อคอลัมน์ต่าง ๆ
    col.add("ชื่อ-สกุล ผู้ยืม");
    col.add("ชื่อแผนก");
    col.add("อุปกรณ์ที่ยืม");
    col.add("หมายเลขคุรุภัณฑ์");
    col.add("วันที่ยืม");
    col.add("เดือนที่ยืม");
    col.add("ปีที่ยืม");
    col.add("วันที่คืน");
    col.add("เดือนที่คืน");
    col.add("ปีที่คืน");
    col.add("ปีงบประมาณ");
    col.add("ชื่อ-สกุล ผู้ส่ง");
    col.add("CodeID");
    col.add("รายงานสถานะ");
    //==============เดิม=================================================
    //"WHERE [ComboBox9] like '%" + jComboBox9.getSelectedItem() + "%' " +
    //=========คำสั่ง SQL ================================================
    String sql = "SELECT CodePK,FullNameBorrow,Department,Equipment,PackagID,"+
    "DateBorrow,MonthBorrow,YearBorrow,DateSend,MonthSend,YearSend," +
    "BudgetYear,FullNameSend,CodeID,Status From tblPermits " +
    "WHERE [CodePK] like '%" + txtSearch.getText() + "' " +
    "ORDER BY [CodeID] ASC";
    //เรียงค่าตามตัวแปร CodeID โดยเรียงค่าจากน้อยไปมาก (ASC)
    //จากมากไปน้อย ใช้ (DSC)
    pstmt = connect.prepareStatement(sql);//เก็บค่า sql ไว้ใน ตัวแปร pstmt
    //ใช้แบบ prepareStatement เร็วกว่าแบบเดิม
    rs = pstmt.executeQuery();
    // นำค่า pstmt ไปประมวลผลแล้วเก็บค่าไว้ใน ตัวแปร rs
    //==================================================================
    row.clear();//เคลียร์ ค่าในแถวไว้รอ
    while(rs.next())//แสดงค่าแบบไปข้างหน้า หรือวนครั้งเดียวแล้วออกจากลูป
    {
    Vector v = new Vector();//แสดงค่าในรูปแบบตาราง
    v.add(rs.getString("CodePK"));//ลำดับที่ Primary Key
    v.add(rs.getString("FullNameBorrow"));//ชื่อ-สกุล ผู้ยืม
    v.add(rs.getString("Department"));//ชื่อแผนก
    v.add(rs.getString("Equipment"));//ชื่ออุปกรณ์ที่ยืม
    v.add(rs.getString("PackagID"));//หมายเลขคุรุภัณฑ์
    v.add(rs.getString("DateBorrow"));//วันที่ยืม
    v.add(rs.getString("MonthBorrow"));//เดือนที่ยืม
    v.add(rs.getString("YearBorrow"));//ปีที่ยืม
    v.add(rs.getString("DateSend"));//วันที่คืน
    v.add(rs.getString("MonthSend"));//เดือนที่คืน
    v.add(rs.getString("YearSend"));//ปีที่คืน
    v.add(rs.getString("BudgetYear"));//ปีงบประมาณ
    v.add(rs.getString("FullNameSend"));//ชื่อ-สกุล ผู้ส่ง
    v.add(rs.getString("CodeID"));//CodeID เอาไว้เรียงข้อมูลจากน้อยไปมาก หรือจากมากไปน้อย
    v.add(rs.getString("Status"));//รายงานสถานะ

    row.add(v);//แสดงผลของแถวต่าง ๆ ในตาราง tblPermits
    }
    rs.close();//ปิดค่า rs
    jTable1.setGridColor(Color.BLACK);//แสดงเส้นตาราง jTable1 สีดำ
    jTable1.getTableHeader().setForeground(Color.BLUE);//ชื่อหัวตารางสีน้ำเงิน
    jTable1.setShowGrid(true);//โชว์เส้นตารางได้ใน jTable1
    jTable1.setModel(new DefaultTableModel(row,col));//แสดงค่าต่างๆใน jTable1
    }catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error Show Data!\n"+ex.getMessage());
    //เกิดข้อผิดพลาดให้แสดงข้อความ
    }
    }

    private void FormatCell() {
    TableColumn column = null;//กำหนดชื่อคอลัมน์
    try {
    for (int i = 0; i < 15; i++){
    column = jTable1.getColumnModel().getColumn(i);
    if (i == 0)
    column.setMaxWidth(60);//ลำดับที่
    if (i == 1)
    column.setMaxWidth(180);//ชื่อ-สกุล
    if (i == 2)
    column.setMaxWidth(120);//ชื่อแผนก
    if (i == 3)
    column.setMaxWidth(100);//อุปกรณ์ที่ยืม
    if (i == 4)
    column.setMaxWidth(120);//หมายเลขคุรุภัณฑ์
    if (i == 5)
    column.setMaxWidth(60);//วันที่ยืม
    if (i == 6)
    column.setMaxWidth(80);//เดือนที่ยืม
    if (i == 7)
    column.setMaxWidth(50);//ปีที่ยืม
    if (i == 8)
    column.setMaxWidth(60);//วันที่คืน
    if (i == 9)
    column.setMaxWidth(80);//เดือนที่คืน
    if (i == 10)
    column.setMaxWidth(50);//ปีที่คืน
    if (i == 11)
    column.setMaxWidth(80);//ปีงบประมาณ
    if (i == 12)
    column.setMaxWidth(160);//ชื่อ-สกุล ผู้ส่ง
    if (i == 13)
    column.setMaxWidth(60);//CodeID
    if (i == 14)
    column.setMaxWidth(100);//รายงานสถานะ
    }
    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error FormatCell Data!\n"+ex.getMessage());
    //เกิดข้อผิดพลาดให้แสดงข้อความ
    }
    }

    private void ClearAll()
    {
    try {
    txtCodePK.setText("");//เคลียร์ค่าใน Text Box CodePK
    txtFullNameBorrow.setText("");//เคลียร์ค่าใน Text Box ชื่อ-สกุล ผู้ยืม
    cbDepartment.setSelectedItem(null);//เคลียร์ค่าใน ComboBox ชื่อแผนก
    cbEquipment.setSelectedItem(null);//เคลียร์ค่าใน ComboBox ชื่ออุปกรณ์ที่ยืม
    txtPackagID.setText("");//เคลียร์ค่าใน Text Box หมายเลขคุรุภัณฑ์
    cbDateBorrow.setSelectedItem(null);//เคลียร์ค่าใน ComboBox วันที่ยืม
    cbMonthBorrow.setSelectedItem(null);//เคลียร์ค่าใน ComboBox เดือนที่ยืม
    cbYearBorrow.setSelectedItem(null);//เคลียร์ค่าใน ComboBox ปีที่ยืม
    cbDateSend.setSelectedItem(null);//เคลียร์ค่าใน ComboBox วันที่คืน
    cbMonthSend.setSelectedItem(null);//เคลียร์ค่าใน ComboBox เดือนที่คืน
    cbYearSend.setSelectedItem(null);//เคลียร์ค่าใน ComboBox ปีที่คืน
    cbBudgetYear.setSelectedItem(null);//เคลียร์ค่าใน ComboBox ปีงบประมาณ
    txtFullNameSend.setText("");//เคลียร์ค่าใน Text Box ชื่อ-สกุล ผู้ส่ง
    txtCodeID.setText("");//CodeID เอาไว้จัดเรียงข้อมูลจากน้อยไปมาก หรือจากมากไปน้อย
    cbStatus.setSelectedItem(null);//เคลียร์ค่าใน ComboBox รายงานสถานะ
    txtSearch.setText("");//ค้นหาข้อมูล
    } catch(Exception ex){
    JOptionPane.showMessageDialog(null,"Error Clear All Data!\n"+ex.getMessage());
    //เกิดข้อผิดพลาดให้แสดงข้อความ
    }
    }
     

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

    • 1.png
      1.png
      ขนาดไฟล์:
      150.9 KB
      เปิดดู:
      101
  18. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่ม btnGenID หรือกำหนดเลขอัตโนมัติ
     

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

    • 2.png
      2.png
      ขนาดไฟล์:
      157.4 KB
      เปิดดู:
      99
  19. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    ปุ่ม btnRefresh หรือปุ่มเคลียร์ค่า
     

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

    • 3.png
      3.png
      ขนาดไฟล์:
      166.3 KB
      เปิดดู:
      96
  20. ledphong

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

    วันที่สมัครสมาชิก:
    28 มีนาคม 2009
    โพสต์:
    1,425
    ค่าพลัง:
    +165
    หากป้อนข้อมูลถูกจะแสดงค่าได้ดังตาราง
     

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

    • 4.png
      4.png
      ขนาดไฟล์:
      101.5 KB
      เปิดดู:
      85

แชร์หน้านี้

Loading...