Java Swing - Giải đề thi

Java Swing – Giải đề thi – Đề 1 (Source code)

Java Swing – Giải đề thi – Đề 1 (Source code)

Năm nay Java hướng chung vào cả chức năng + giao diện, không còn tách ra như trước nữa 😀

Đề thi năm nay của trường mình là (Đề 1 nhé): https://drive.google.com/open?id=0B7g2AINVO-WSYmhkMFVsaXlwRnc

Ta được sử dụng:

  • Eclipse
  • Java Swing
  • MySQL Database
  • JDBC MySQL Database Driver

Hướng giải quyết:

1/ Về Sach:

Cái này là đơn giản nhất, chỉ cần tạo các thuộc tính theo table thôi, ở đây là 2 string masach, tensach và int nam.

Sau khi có thuộc tính, ta cũng generate getter/setter, constructor tham số, constructor mặc định là xong 😀

2/ Về các hàm truy xuất CSDL (Mình gọi là QlySach)

Chúng ta cứ kéo thả library MySQL vào và Add Library. Sau đó cũng chỉ khởi tạo rồi sử dụng thôi.

Cách mình làm là sẽ khai báo Connection ở trong class, khởi tạo Connection ở hàm khởi tạo.

Mỗi lần cần truy xuất gì thì cứ việc gọi biến đó ra sử dụng thôi :D.

Về cơ bản thì Java có chức năng tự dọn rác, cho nên chúng ta có close connection hay ko cũng ko quan trọng đâu 😀

3/ Về giao diện

Mọi thứ vẫn tạo bình thường ko có gì nhé.

Ở mỗi ô thông tin thì mình có 2 hướng:

  1. Tạo 3 Panel, tất cả đều layout null
    1. Panel cha, bọc 2 Panel con, có setBorder viền ngoài
    2. Panel con 1 (nằm trên), setBound ở trên và setBackgroundColor bình thường, các phần tử hiển thị thông tin sẽ add vào đây
    3. Panel con 2 (nằm dưới), setBound ở dưới và add nút << >> + info vào
  2. Tạo 3 Panel:
    1. Panel cha, layout grid, row 2
    2. Panel con 1 khi add vào sẽ ở row 1, layout null, thêm các phần tử như trên.
    3. Panel con 2 khi add vào sẽ ở dưới cùng, layout null và thêm phần tử như trên.

Tất nhiên là hướng setLayout = null lúc nào cũng dễ hơn rồi 😀

4/ Về chức năng

Về chức năng, mình xin gợi ý 1 chút như sau:

  • Khi khởi tạo GiaoDien, ta cho nó get toàn bộ thông tin từ Database luôn.
  • Tạo 1 biến int = 0 giữ giá trị mặc định ban đầu.
  • Lấy thông tin từ array[biến_ban_đầu] và set lên textbox.
  • Mỗi khi << >> thì cứ — ++ biến int kia lên và show array[biến].
  • Sắp xếp tương tự như getData ban đầu.
  • Khi nhấn nút thêm, setEnabled cái nút Hủy true và setText nút thêm = Lưu.
  • Hủy thì set lại như ban đầu.
  • Khi nhấn Lưu thì cứ kiểm tra và add thôi, nếu add thành công thì set trở lại ban đầu.
  • Xóa làm bình thường.
  • Thoát thì dispose();

Source Code tham khảo:

Đây là code mình đã viết lại + kèm giải thích đầy đủ 😀

Download tại: https://drive.google.com/open?id=0B7g2AINVO-WSZlB1eVN5TUhoVHc

Bài này mình đã làm riêng + hoàn chỉnh tại nhà, bài thi của mình giống dc 95%, thời gian ít quá ko đủ mà hoàn thiện hơn nữa 😀

Cám ơn các bạn đã quan tâm 😀

facebook
Seth Phát

Seth Phát

Mình là Phát - biệt danh Seth Phát. Hiện đang là một Sr. Full-Stack Engineer. Mình là một người yêu thích và đam mê lập trình và hiện tại đang theo về phần Web là chủ yếu. Mạnh Back-end và khá Front-end, vẫn đang theo đều cả 2 :v. Còn gì bằng khi được làm những thứ mà mình yêu thích, đam mê ;)

Bình luận qua Facebook