LAB3: COLLECTION & MAP LAB 3: COLLECTION & MAP MỤC TIÊU: Kết thúc thực hành bạn có khả Sử dụng List ArrayList Sử dụng JTable, JComboBox Sử dụng lớp tiện ích Collections Sử dụng Map HashMap Cụ thể sau lab bạn xây dựng ứng dụng nhỏ để quản lý sinh viên với giao diện sau: PHẦN I BÀI (2 ĐIỂM) Thiết kế giao diện hình sau MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP Đặt tên theo qui ước cho thành phần giao diện form Không cho phép nhập vào ô học lực Viết mã để o Đưa cửa sổ hiển thị hình o Click nút [NHẬP MỚI] xóa trắng ô nhập form bỏ chọn CheckBox [Có phần thưởng] BÀI (4 ĐIỂM) Tạo lớp Student để quản lý thông tin sinh viên sau: public class Student { public String name; public double marks; public String major; public String getGrade(){ if(this.marks < 3){ return "Kém"; MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP } if(this.marks < 5){ return "Yếu"; } if(this.marks < 6.5){ return "Trung bình"; } if(this.marks < 7.5){ return "Khá"; } if(this.marks < 9){ return "Giỏi"; } return "Xuất sắc"; } public boolean isBonus(){ return this.marks >= 7.5; } } Sử dụng giao diện khai báo vào lớp JFrame trường phương thức sau trường list để chứa danh sách sinh viên nhập vào Các phương thức xử lý theo tác người dùng public void addStudent(){} public void removeStudent(){} public void updateStudent(){} public void fillToTable(){} public void showDetail(){} MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP Viết mã cho nút [THÊM] cho phép tạo sinh viên bổ sung vào List theo hướng dẫn sau Xử lý kiện click nút [THÊM] Viết mã cho phương thức addStudent() Viết mã cho phương thức fillToTable() sau MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP Viết mã xử lý kiện click vào hàng bảng hiển thị chi tiết thông tin sinh viên chọn lên form Xử lý kiện click chuột vào bảng Viết mã cho phương thức showDetail() Xử lý kiện click [XÓA] Mã xử lý kiện xóa MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP Mã phương thức removeStudent() Xử lý kiện click [CẬP NHẬT] Xử lý kiện cập nhật Mã phương thức updateStudent() MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP PHẦN II BÀI (2 ĐIỂM) Bổ sung nút để xếp danh sách sinh viên có giao diện sau Đặt tên nút hợp lệ theo qui ước Bổ sung phương thức sau vào JFrame public void orderByName(){} public void orderByMarks(){} Viết mã cho nút [Sắp xếp theo tên] Mã xử lý kiện click [Sắp xếp theo tên] Mã cho phương thức orderByName(){} MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP Viết mã cho nút [Sắp xếp theo tên] Mã xử lý kiện click [Sắp xếp theo điểm] Mã cho phương thức orderByMarks(){} BÀI (2 ĐIỂM) Tạo lớp MapDemo chứa phương thức main() Viết mã cho phương thức main() theo hướng dẫn sau: Tạo Map để chứa cập tên đối tượng Student Map map = new HashMap(); Bổ sung vào map sinh viên Mã sau bổ sung sinh viên vào map Student sv1 = new Student(); sv1.name = "Tuấn"; MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP sv1.major = "CNTT"; sv1.marks = 7.0; map.put(sv1.name, sv1); Duyệt Map xuất thông tin sinh viên hình console Set keys = map.keySet(); for(String name : keys){ Student sv = map.get(name); System.out.println(">Họ tên: " + sv.name); System.out.println(">Học lực: " + sv.getGrade()); } MOB1022 – LẬP TRÌNH JAVA TRANG ... lý kiện xóa MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP Mã phương thức removeStudent() Xử lý kiện click [CẬP NHẬT] Xử lý kiện cập nhật Mã phương thức updateStudent() MOB1022 – LẬP... public void updateStudent(){} public void fillToTable(){} public void showDetail(){} MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP Viết mã cho nút [THÊM] cho phép tạo sinh viên bổ sung vào... Viết mã cho phương thức addStudent() Viết mã cho phương thức fillToTable() sau MOB1022 – LẬP TRÌNH JAVA TRANG LAB3: COLLECTION & MAP Viết mã xử lý kiện click vào hàng bảng hiển thị chi tiết