Chào mừng bạn đến với diễn đàn ViệtCảnh.com!.

Hãy click vào quảng cáo để ủng hộ diễn đàn! Chúc các bạn luôn vui vẻ và thành công trong cuộc sống!

Trả lời Viết bài mới Công cụ bài viết Kiểu hiển thị
Cũ 03-10-2012, 08:54 PM   #1
baoquocmt159 baoquocmt159 đang ẩn
S-Mod
 
Avatar của baoquocmt159
 
Tham gia tháng: Nov 2011
Tuổi: 24
Bài gửi: 1.365 

Cấp độ: 31 [♥ VietCanh ♥]
Sức mạnh: 154 / 770
Nội công: 455 / 5498
Kinh nghiệm: 81%

Cảm ơn: 239
Được cảm ơn 632 lần trong 340 bài viết
Mặc định [Tutorial] Lập trình Java trên Netbean - phần mềm ứng dụng - phần mềm quản lý nhân sự

Chào các bạn ,chủ đề này đã không còn xa lạ gì với chúng ta ,nhưng nó chẳng bao giờ có hồi kết ,vẫn mãi là chủ đề nóng hổi với xu hướng phát triển của Tin học hiện nay .

Trên các forum đã có rất nhiều bài viết hướng dẫn ,nào là thiết kế giao diện với Netbean ,lập trình java toàn tập ..... Nhưng mình thấy vẫn rất khó khăn với bạn nào muốn thiết kế 1 phần mềm nho nhỏ cho doanh nghiệp ,công ty hay thực tế hơn là bạn sinh viên nào đang làm đồ án môn học .

Vậy hôm này mình sẽ hướng dẫn các bạn xây dựng phần mềm quản lý với Java trên nền Netbean .

Như chủ đề ,mình sẽ từng bước đơn giản nhất để các bạn đi sâu vào phát triển Phần mềm quản lý Nhân sự.

Phần 1 : Thiết kế và kết nối cơ sở dữ liệu

Về công cụ Netbean ,các bạn download tại địa chỉ : http://netbeans.org/downloads/index.html

chọn phiên bản 172Mb ,nếu bạn nào có nhu cầu lập trình cho điện thoại j2me thì download phiên bản full .

Sau khi download và cài đặt ,các bạn chạy lên và chọn New Project ,nhấn next ,chọn Java Application ,đặt tên cho dự án và nhấn Finish .



Các bạn cần add thư viện cho nó ,thư viện các bạn download tại đây .

Sau đó các bạn click chuột phải vào Project ,chọn Properties ,chọn libraries ,chọn Add JAR/Folder ,browse đến thư viện các bạn vừa dowload về và nhấn OK ,để có thể mang đi máy khác chạy các bạn nên copy thư viện vào thư mục của Project rồi hãy Add .




Hệ quản trị CSDL thì có rất là nhiều ,thông dụng nhất là Ms SQL và Ms Access .

Mình sẽ hướng dẫn các bạn xây dựng phần mềm với Ms Access không sử dụng ODBC .

Các bạn vào Ms Access tạo database với tên là dulieu.mdb và tạo bảng có tên là nhan_vien với các trường dữ liệu như sau :



Sau đó các bạn cũng copy data vào thư mục của Project :




Quay lại Netbean ,các bạn tạo 1 class có tên Connect để kết nối csdl .Nội dung file này như sau :

Mã:
import java.sql.*;
import javax.swing.*;
public class Connect {
Connection conn = null; //tạo 1 biến kết nối
ResultSet rs = null; // 1 biến result để load dữ liệu
PreparedStatement pst = null;
public static Connection ConnectDB(){
    try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=dulieu.mdb");
        //kết nối csdl với drive được cung cấp sẵn trong thư viện các bạn import
        return conn;

    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
        return null;
    }
}
}



OK xong phần kết nối csdl ,phần sau mình sẽ hướng dẫn thiết kế giao diện ,chúc các bạn buổi tối vui vẻ !



còn nữa ...

Xem các bài viết tương tự:

  Trả lời với trích dẫn
Có 2 lời cảm ơn tới bạn baoquocmt159 vì bài viết này
huynhhoanganh (03-10-2012), LanLan (03-10-2012)
1 click của bạn sẽ giúp duy trì và phát triển diễn đàn ngày một tốt hơn!
Cũ 03-10-2012, 10:08 PM   #2
LanLan LanLan đang ẩn
Nghệ nhân bàn tay đất
 
Avatar của LanLan
 
Tham gia tháng: Jul 2011
Bài gửi: 327 

Cấp độ: 16 [♥ VietCanh ♥]
Sức mạnh: 0 / 397
Nội công: 109 / 3170
Kinh nghiệm: 89%

Cảm ơn: 185
Được cảm ơn 68 lần trong 59 bài viết
Mặc định

Có vẻ s-Mod đã trở lại@@
  Trả lời với trích dẫn
Những thành viên cảm ơn bạn LanLan vì bài viết này
baoquocmt159 (03-10-2012)
Cũ 03-10-2012, 10:09 PM   #3
BeBU BeBU đang ẩn
Nghệ nhân trồng cây
 
Avatar của BeBU
 
Tham gia tháng: Oct 2011
Bài gửi: 195 

Cấp độ: 13 [♥ VietCanh ♥♥ VietCanh ♥♥ VietCanh ♥♥ VietCanh ♥]
Sức mạnh: 0 / 300
Nội công: 65 / 2242
Kinh nghiệm: 0%

Cảm ơn: 83
Được cảm ơn 36 lần trong 31 bài viết
Mặc định

Trích dẫn:
Nguyên văn bởi LanLan Xem bài viết
Có vẻ s-Mod đã trở lại@@
Và lợi hại gấp 10 lần
  Trả lời với trích dẫn
Những thành viên cảm ơn bạn BeBU vì bài viết này
baoquocmt159 (03-10-2012)
Cũ 03-10-2012, 11:36 PM   #4
baoquocmt159 baoquocmt159 đang ẩn
S-Mod
 
Avatar của baoquocmt159
 
Tham gia tháng: Nov 2011
Tuổi: 24
Bài gửi: 1.365 

Cấp độ: 31 [♥ VietCanh ♥]
Sức mạnh: 154 / 770
Nội công: 455 / 5498
Kinh nghiệm: 81%

Cảm ơn: 239
Được cảm ơn 632 lần trong 340 bài viết
Mặc định

Cảm ơn các bạn đã quan tâm đến bài viết ,tiếp theo mình sẽ hướng dẫn các bạn thiết kế giao diện .


Phần 2 : Thiết kế giao diện

Đầu tiên chúng ta quan tâm đến màn hình đăng nhập khi chạy chương trình ,các bạn click chuột phải vào package ,chọn New ,chọn JFrame Form ,đặt tên là login và nhấn finish :


Sau đó các bạn click chọn Panel ở phía trên bên phải ,đây là 1 cái khung cho form của chúng ta ,sau khi click các bạn đưa chuột vào form ,click chuột trái để đặt khung vào và tiến hành kéo giãn ra cho vừa .

Tiếp tục làm vậy với 1 cái khung nữa ,như vậy form của chúng ta sẽ có 2 cái khung .






Các bạn có thể tạo màu cho khung hoặc chèn hình nền cho khung :




Tiếp tục các bạn chọn Lable ở phía bên phải ,và đặt vào vị trí thích hợp ,ở đây mình đặt lên khung bên trên ,sau đó chọn Properties và lựa chọn các thông số như kích cỡ ,màu sắc ,và text (văn bản hiển thị) :







Tương tự các bạn đặt 2 cái Lable khác ở khung bên dưới và text là Tên đăng nhập và Mật khẩu :





Tiếp tục các bạn click chọn TextField đặt vào bên cạnh Tên đăng nhập ,TextField có chức năng tạo khung nhập văn bản cho người sử dụng (NSD) và click chọn PasswordField đặt vào bên cạnh Mật khẩu ,sau đó lần lượt click chuột phải ,chọn Edit Text và xóa text mặc định của nó đi ,bỏi chúng ta để các trường trắng để NSD nhập liệu :




Chúng ta cần 1 cái nút để NSD bấm đăng nhập ,vì vậy các bạn click chọn Button ,đặt vào vị trí thích hợp ,tương tự chúng ta click phải ,chọn Edit text và đặt lại giá trị text mặc định (ở đây mình đặt là đăng nhập) :





Nếu không có hiện tượng gì xảy ra ,tức là không báo lỗi ,các bạn chạy thử bằng cách click phải vào login.java ,chọn run file ,sẽ ra kết quả :




OK xong form login ,tiếp theo chúng ta sẽ tạo cái form chính sau khi đăng nhập ....

Lần sửa cuối bởi baoquocmt159; 03-10-2012 lúc 11:39 PM
  Trả lời với trích dẫn
Những thành viên cảm ơn bạn baoquocmt159 vì bài viết này
vanhkhuyen (08-10-2012)
Cũ 04-10-2012, 10:02 PM   #5
baoquocmt159 baoquocmt159 đang ẩn
S-Mod
 
Avatar của baoquocmt159
 
Tham gia tháng: Nov 2011
Tuổi: 24
Bài gửi: 1.365 

Cấp độ: 31 [♥ VietCanh ♥]
Sức mạnh: 154 / 770
Nội công: 455 / 5498
Kinh nghiệm: 81%

Cảm ơn: 239
Được cảm ơn 632 lần trong 340 bài viết
Mặc định

Tiếp theo chúng ta làm việc với form chính sau khi đăng nhập ,vậy các bạn cũng click phải vào package ,chọn New JFrame Form và đặt tên là main chẳng hạn .


Tương tự form login các bạn kéo vào 2 cái panel ,rồi tô màu cho nó ẹp 1 tí ,và 1 cái Label ở cái khung phía trên ,set Text cho cái label là Phân mềm quản lý nhân sự chẳng hạn :




Ở khung bên dưới các bạn có thể trang điểm 1 vài cái gì đó ,ở đây mình kéo vào 1 cái Textarea và viết 1 vài thông tin về phần hay hay bản quyền gì gì đó :








Sau đó các bạn click vào Menu Bar ,đặt vào vị trí phía trên của khung thứ 1 ,mặc định nó có 2 menu là File và Edit ,các bạn click phải ,chọn edit text và đặt lại text cho 2 menu này,ở đây mình đặt là Hệ thống và Quản lý :




Nếu các bạn muốn thêm menu nữa thì click Menu và đặt vào bên canh ,ở đây mình thêm menu con vào 2 menu này ,click vào Menu Item và đặt vào cái menu cha ,sau đó cũng click phải và edit Text :




Tạm thời thế nhé ,còn bạn nào muốn phát triển thêm cho hoành tráng thì có rất nhiều lựa chọn ,tha hồ mà kéo thả
  Trả lời với trích dẫn
Cũ 04-10-2012, 10:20 PM   #6
TopVIPSupporter TopVIPSupporter đang ẩn
TopVIP
 
Avatar của TopVIPSupporter
 
Tham gia tháng: Mar 2012
Đến từ: VietNam Country
Tuổi: 26
Bài gửi: 552 

Cấp độ: 21 [♥ VietCanh ♥♥ VietCanh ♥♥ VietCanh ♥♥ VietCanh ♥]
Sức mạnh: 51 / 515
Nội công: 184 / 3130
Kinh nghiệm: 61%

Cảm ơn: 49
Được cảm ơn 81 lần trong 52 bài viết
Gửi tin nhắn qua ICQ tới TopVIPSupporter Gửi tin nhắn qua AIM tới TopVIPSupporter Gửi tin nhắn qua Yahoo! tới TopVIPSupporter Gửi tin nhắn qua Skype™ tới TopVIPSupporter
Mặc định

Thanks S-Mod nhiều, đúng là S-Mod đã trở lại:D


Hãy nhấn likethanks để động viên và cảm ơn sự tâm huyết, tinh thần chia sẻ của mọi người, để kiến thức mình học được trở nên giá trị hơn!!!

Hội những người thích đố mỗi ngày:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
  Trả lời với trích dẫn
Có 2 lời cảm ơn tới bạn TopVIPSupporter vì bài viết này
baoquocmt159 (04-10-2012), EnXinh (08-10-2012)
Cũ 04-10-2012, 10:33 PM   #7
baoquocmt159 baoquocmt159 đang ẩn
S-Mod
 
Avatar của baoquocmt159
 
Tham gia tháng: Nov 2011
Tuổi: 24
Bài gửi: 1.365 

Cấp độ: 31 [♥ VietCanh ♥]
Sức mạnh: 154 / 770
Nội công: 455 / 5498
Kinh nghiệm: 81%

Cảm ơn: 239
Được cảm ơn 632 lần trong 340 bài viết
Mặc định

Vậy là trong mục Quản lý của chúng ta có 2 menu item là danh sách nhân viên và thêm nhân viên ,bây giờ chúng ta tạo 1 form để hiển thị danh sách nhân viên từ database .

Tương tự các bạn click phải vào package ,chọn New JFrame Form ,ở đây mình đặt tên là ds_nhanvien .

Các bạn chọn mục Table ở thanh công cụ phía bên phải ,đặt vào trong form và kéo chỉnh size cho phù hợp ,sau đó click phải ,chọn Change Variable Name và đặt tên cho table này ,mục đích là sau này chúng ta dễ sử dụng với cái tên này ,ở đây mình đặt là ds_nhanvien .

Tiếp tục các bạn đặt vào trong form 1 cái button ,đổi lại text là OK :




Giờ chúng ta làm việc đến form thêm nhân viên ,các bạn cũng tạo mới 1 JFrame ,sau đó kéo vào form 2 cái panel ,cái khung ở trên chúng ta làm tương tự form chính và form login ,còn khung bên dưới ,các bạn kéo vào 5 cái Label ,đặt lại text cho từng cái ,các bạn chú ý đặt tên giống với từng trường dữ liệu trong database :





Tiếp tục các bạn kéo vào đây 6 cái textField ,các bạn sắp xếp 5 cái textField bên canh 5 cái Lable để NSD nhập liệu ,còn 1 cái các bạn đặt bên trên ,cái này dùng để hiển thị ID ,sau đó các bạn nhấp chuột phải ,chọn edit Text và xóa hết text mặc định đi ,để trống thôi ,tiếp tục nhấp phải chọn Change Variable Name và đặt tên cho các textField này ,ở đây mình đặt tên giống với tên các trường trong csdl để tiện việc thao tác sau này (id ,ten_nv ,ma_nv ,dia_chi ,so_dt ,luong)





Tiếp tục các bạn kéo vào 1 cái Table ,các bạn có thể đặt bên trái ,các bạn chú ý khi đặt table vào có thể nó sẽ chạy lung tung ,thế nên các bạn từ từ kéo chỉnh lại cho cân đối ,nhấp phải chọn Change Variable Name và đặt tên cho table là ds_nhanvien :




Tiếp tục click vào Button và kéo vào đây 5 cái button ,sau đó lần lượt đổi text ,ở đây mình đổi thành 5 cái là Lưu ,Sửa ,Xóa ,Cập nhật và Thoát :





Xong phần giao diện ,ở phần tiếp theo mình sẽ hướng dẫn các bạn gắn sự kiện để thao tác với csdl ,chúc các bạn vui vẻ !
  Trả lời với trích dẫn
Những thành viên cảm ơn bạn baoquocmt159 vì bài viết này
vanhkhuyen (08-10-2012)
Cũ 05-10-2012, 10:38 PM   #8
baoquocmt159 baoquocmt159 đang ẩn
S-Mod
 
Avatar của baoquocmt159
 
Tham gia tháng: Nov 2011
Tuổi: 24
Bài gửi: 1.365 

Cấp độ: 31 [♥ VietCanh ♥]
Sức mạnh: 154 / 770
Nội công: 455 / 5498
Kinh nghiệm: 81%

Cảm ơn: 239
Được cảm ơn 632 lần trong 340 bài viết
Mặc định

Phần 3 : Tạo sự kiện

Đầu tiên chúng ta làm việc với form login ,để có thể cho NSD nhập username và password ,rồi nhấn OK để đăng nhập ,chúng ta cần phải tạo 1 bảng dữ liệu gồm các trường thông tin về username và password :




Mở form login lên ,chuyển sang thẻ Source ,chúng ta cần khai báo thêm 1 biến connect ,1 biến result và 1 biến PreparedStatement :

Mã:
Connection conn =null;
ResultSet rs = null;
PreparedStatement pst = null;
Chúng ta gắn sự kiện khi mở cửa sổ form thì kết nối csdl ,để làm được điều này ,các bạn click chuột phải lên toàn bộ form ,chọn Events ,chọn Window ,rồi chọn WindowOpened ,nó sẽ tự động chuyển sang Source cho chúng ta ,tại dấu nháy con trỏ chuột ,các bạn tạo 1 biến connect và gọi lớp Connect.java để kết nối csdl :

Mã:
 conn = Connect.ConnectDB();



Tiếp tục chuyển qua thẻ Design ,các bạn click chuột phải lên Button đăng nhập ,chọn Events ,chọn Mouse ,chọn MouseClicked ,sự kiện này tức là khi click vào button thì sẽ làm cái gì đó .

Chúng ta cần 1 câu truy vấn sql để lấy dữ liệu trong bảng dữ liệu :

Mã:
select * from login where user ='" +jTextField1.getText()+"' and pass ='"+jTextField2.getText()+"'
login : tên table trong csdl
JtextField1 : tên của textfield nằm bên cạnh tên đăng nhập
getText() : đây là hàm lấy toàn bộ văn bản tại textfiled khi nhập liệu


Các bạn chú ý khi sử dụng câu truy vấn trong java ,nếu trường nhập liệu là văn bản thì chúng ta có thêm cặp dâu ' ' tại dữ liệu được lấy ,còn nếu là số thì không cần .

Ví dụ : '" +jTextField1.getText()+"' và " +so_dien_thoai.getText()+"

Và kiểm tra nếu đúng tên đăng nhập và pass thì gọi form chính main.java .

Đoạn code đầy đủ như sau :

Mã:
String sql = "select * from login where user='" +jTextField1.getText()+"' and user='"+jTextField2.getText()+"'";
        try{
            pst = conn.prepareStatement(sql);
            rs = pst.executeQuery();
            if (rs.next()){  //nếu đúng
                JOptionPane.showMessageDialog(null, "Thành công !"); //hiện form thông báo ,sử dụng JOptionPane.showMessage có sẵn trong java
                main m = new main(); // gọi form main.java
                m.setVisible(true);   //hiển thị form main
                this.setVisible(false); //đóng form này lại
            }
 else  //nếu sai
     JOptionPane.showMessageDialog(null, "Invalid username or Password");
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }

Về chi tiết các bạn có thể tự tìm hiểu thêm nhé !

Các bạn có thể click phải lên form login và nhấn run file để chạy thử :







Vậy là chúng ta đã làm việc xong phần đăng nhập !
  Trả lời với trích dẫn
Cũ 08-10-2012, 12:01 PM   #9
baoquocmt159 baoquocmt159 đang ẩn
S-Mod
 
Avatar của baoquocmt159
 
Tham gia tháng: Nov 2011
Tuổi: 24
Bài gửi: 1.365 

Cấp độ: 31 [♥ VietCanh ♥]
Sức mạnh: 154 / 770
Nội công: 455 / 5498
Kinh nghiệm: 81%

Cảm ơn: 239
Được cảm ơn 632 lần trong 340 bài viết
Mặc định

Tiếp tục chúng ta làm việc với form main ,tức là form sau khi đăng nhập thành công .



Chúng ta thấy ở menu Hệ thống có 1 menu con là Thoát chương trình :

Vậy ta gắn sự kiện cho menu này khi nhấn vào sẽ thoát ,click phải vào menu ,chọn Event ,Action ,chọn actionPerformed và gõ vào dòng lệnh sau :

Mã:
System.exit(0);
Tương tự sang menu Quản lý ,chọn xuống menu Danh sách nhân viên và click chuột phải ,chọn Event ,Action ,actionPerformed và gõ vào dòng lệnh :

Mã:
new ds_nhanvien().setVisible(true);
Tương tự với menu thêm nhân viên ,các bạn chọn sự kiện và gõ lệnh :

Mã:
new nhan_vien().setVisible(true);



Bây giờ chúng ta làm việc với form ds_nhanvien ,khi form này được gọi thì sẽ hiển thị danh sách nhân viên trong csdl .

Chúng ta khai báo các biến phục vụ cho việc kết nối :

Mã:
Connection conn = null;
    ResultSet rs = null;
    PreparedStatement pst = null;

Làm thế nào để load dữ liệu từ database lên Jtable ,nếu search gg thì cũng hơi lâu ,nên các bạn chỉ cần làm theo mình ,viết 1 phương thức để load dữ liệu ,chú ý phương thức này phải được viết bên trong class ds_nhanvien nha :

Mã:
 private void UpdateJTable(){
        String sql = "select * from nhan_vien";
        try{
            pst = conn.prepareStatement(sql);
            rs = pst.executeQuery();
            ds_nhanvien.setModel(DbUtils.resultSetToTableModel(rs));
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
    }

nhan_vien : tên bảng dữ liệu
conn : tên biến connect ở trên
ds_nhanvien : tên jtable mà chúng ta đã đặt tên ở trên.





Sau đó sang thẻ Design ,click phải lên toàn bộ form ,chọn Event ,chọn Window ,WindowOpened và gõ dòng lệnh :

// kết nối và gọi phương thức load dữ liệu

Mã:
conn = Connect.ConnectDB();
        UpdateJTable();

Còn lại nút Ok ,các bạn gắn sự kiện Event -> Mouse -> MouseClicked :

Mã:
this.setVisible(false);

Tức là khi nhấn OK thì chỉ đóng form lại chứ không phải Thoát chương trình


Demo :

  Trả lời với trích dẫn
Cũ 08-10-2012, 08:11 PM   #10
vanhkhuyen vanhkhuyen đang ẩn
Là bác nông dân
 
Avatar của vanhkhuyen
 
Tham gia tháng: Oct 2012
Tuổi: 24
Bài gửi: 4 

Cấp độ: 1 [♥ VietCanh ♥]
Sức mạnh: 0 / 5
Nội công: 1 / 24
Kinh nghiệm: 21%

Cảm ơn: 6
Được cảm ơn 0 lần trong 0 bài viết
Mặc định

Em đang cố làm theo anh đây, pro quá!@@
  Trả lời với trích dẫn
Trả lời
Công cụ bài viết
Kiểu hiển thị

Quyền viết bài
Bạn không thể gửi chủ đề mới
Bạn không thể gửi trả lời
Bạn không thể gửi file đính kèm
Bạn không thể sửa bài viết của mình

BB code đang Mở
Mặt cười đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến