1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist

39 24 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu và xây dựng phần mềm quản lý công việc Todolist
Tác giả Đỗ Thế Hoàn, Đậu Đức Thắng, Nguyễn Thái Học
Người hướng dẫn Th.S Nguyễn Hồng Thanh
Trường học Trường Đại học Kiến trúc Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án môn học
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 39
Dung lượng 1,6 MB

Cấu trúc

  • CHƯƠNG 1: CƠ SỞ LÝ THUYẾT (8)
    • 1.1. Tổng quan về ngôn ngữ lập trình java (8)
      • 1.1.1. Khái niệm (8)
      • 1.1.2. Đặc điểm của ngôn ngữ lập trình java (8)
      • 1.1.3. Máy ảo java (11)
      • 1.1.4. Các loại ứng dụng được phát triển sử dụng java (11)
    • 1.2. Giới thiệu về Java Swing (12)
      • 1.2.1. Java Swing là gì? (12)
      • 1.2.2. Ứng dụng của Java Swing (13)
    • 1.3. Tổng quan về đề tài (13)
  • CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG (15)
    • 2.1. Biểu đồ use case tổng quát (15)
    • 2.2. Phân tích các chức năng (15)
      • 2.2.1. Chức năng đăng nhập (15)
        • 2.2.1.1. Sơ đồ use case (15)
        • 2.2.1.2. Mô tả chức năng (15)
      • 2.2.2. Chức năng đăng kí (16)
        • 2.2.2.1. Sơ đồ use case (16)
        • 2.2.2.2. Mô tả chức năng (16)
      • 2.2.3. Chức năng thêm mới todo (16)
        • 2.2.3.1. Sơ đồ use case (16)
        • 2.2.3.2. Mô tả chức năng (17)
      • 2.2.4. Chức năng sửa todo (17)
        • 2.2.4.1. Sơ đồ use case (17)
        • 2.2.4.2. Mô tả chức năng (18)
      • 2.2.5. Chức năng xóa todo (18)
        • 2.2.5.1. Sơ đồ use case (18)
        • 2.2.5.2. Mô tả chức năng (18)
      • 2.2.6. Chức năng hoàn thành todo (18)
        • 2.2.6.1. Sơ đồ use case (18)
        • 2.2.6.2. Mô tả chức năng (19)
      • 2.2.7. Chức năng sắp xếp todo (19)
        • 2.2.7.1. Sơ đồ use case (19)
        • 2.2.7.2. Mô tả chức năng (20)
      • 2.2.8. Chức năng sắp xếp todo (20)
        • 2.2.8.1. Sơ đồ use case (20)
        • 2.2.8.2. Mô tả chức năng (20)
  • CHƯƠNG 3: LẬP TRÌNH VÀ TRIỂN KHAI PHẦN MỀM (21)
    • 3.1. Xây dựng phần mềm (21)
      • 3.1.1. Form đăng nhập (21)
      • 3.1.2. Form đăng kí tài khoản (23)
      • 3.1.3. Form phần thưởng (26)
      • 3.1.4. Trang chủ (27)
    • 3.2. Triển khai phần mềm (34)
      • 3.2.1. Chạy chương trình (34)
      • 3.2.2. Giao diện phần mềm (35)
        • 3.2.2.1. Giao diện form đăng nhập (35)
        • 3.2.2.2. Giao diện form đăng ký (36)
        • 3.2.2.3. Giao diện form trang chủ (36)
        • 3.2.2.4. Giao diện form thông báo (37)
  • KẾT LUẬN (38)
    • 1. Đánh giá (38)

Nội dung

DANH MỤC HÌNH ẢNHHình 1.1: Ảnh minh họa ngôn ngữ lập trình JavaHình 1.2: Ảnh minh họa ứng dụng TodolistHình 2.1: Biểu đồ use case toàn hệ thốngHình 2.2: Biểu đồ use case chức năng đăng n

CƠ SỞ LÝ THUYẾT

Tổng quan về ngôn ngữ lập trình java

Java là một trong những ngôn ngữ lập trình hướng đối tượng Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động.

Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991 Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak.

Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem.

Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run Anywhere – WORA) Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó.

Hình 1.1: Ảnh minh họa ngôn ngữ lập trình Java

1.1.2 Đặc điểm của ngôn ngữ lập trình java

*Tương tự C++, hướng đối tượng hoàn toàn.

Trong quá trình tạo ra một ngôn ngữ mới phục vụ cho mục đích chạy được trên nhiều nền tảng, các kỹ sư của Sun MicroSystem muốn tạo ra một ngôn ngữ dễ học và quen thuộc với đa số người lập trình Vì vậy họ đã sử dụng lại các cú pháp của

Tuy nhiên, trong Java thao tác với con trỏ bị lược bỏ nhằm đảo bảo tính an toàn và dễ sử dụng hơn Các thao tác overload, goto hay các cấu trúc như struct và union cũng được loại bỏ khỏi Java.

*Độc lập phần cứng và hệ điều hành.

Một chương trình viết bằng ngôn ngữ Java có thể chạy tốt ở nhiều môi trường khác nhau Gọi là khả năng “cross-platform” Khả năng độc lập phần cứng và hệ điều hành được thể hiện ở 2 cấp độ là cấp độ mã nguồn và cấp độ nhị phân. Ở cấp độ mã nguồn: Kiểu dữ liệu trong Java nhất quán cho tất cả các hệ điều hành và phần cứng khác nhau Java có riêng một bộ thư viện để hỗ trợ vấn đề này. Chương trình viết bằng ngôn ngữ Java có thể biên dịch trên nhiều loại máy khác nhau mà không gặp lỗi. Ở cấp độ nhị phân: Một mã biên dịch có thể chạy trên nhiều nền tảng khác nhau mà không cần dịch lại mã nguồn Tuy nhiên cần có Java Virtual Machine để thông dịch đoạn mã này.

Ngôn ngữ lập trình thường được chia ra làm 2 loại (tùy theo các hiện thực hóa ngôn ngữ đó) là ngôn ngữ thông dịch và ngôn ngữ biên dịch.

 Thông dịch (Interpreter) : Nó dịch từng lệnh rồi chạy từng lệnh, lần sau muốn chạy lại thì phải dịch lại.

 Biên dịch (Compiler): Code sau khi được biên dịch sẽ tạo ra 1 file thường là exe, và file exe này có thể đem sử dụng lại không cần biên dịch nữa.

Ngôn ngữ lập trình Java thuộc loại ngôn ngữ thông dịch Chính xác hơn, Java là loại ngôn ngữ vừa biên dịch vừa thông dịch Cụ thể như sau

Khi viết mã, hệ thống tạo ra một tệp java Khi biên dịch mã nguồn của chương trình sẽ được biên dịch ra mã byte code Máy ảo Java (Java Virtual Machine) sẽ thông dịch mã byte code này thành machine code (hay native code) khi nhận được yêu cầu chạy chương trình. Ưu điểm: Phương pháp này giúp các đoạn mã viết bằng Java có thể chạy được trên nhiều nền tảng khác nhau Với điều kiện là JVM có hỗ trợ chạy trên nền tảng này.

Nhược điểm: Cũng như các ngôn ngữ thông dịch khác, quá trình chạy các đoạn mã Java là chậm hơn các ngôn ngữ biên dịch khác (tuy nhiên vẫn ở trong một mức chấp nhận được).

*Cơ chế thu gom rác tự động.

Khi tạo ra các đối tượng trong Java, JRE sẽ tự động cấp phát không gian bộ nhớ cho các đối tượng ở trên heap.

Với ngôn ngữ như C C++, bạn sẽ phải yêu cầu hủy vùng nhớ mà bạn đã cấp phát, để tránh việc thất thoát vùng nhớ Tuy nhiên vì một lý do nào đó, bạn không hủy một vài vùng nhớ, dẫn đến việc thất thoát và làm giảm hiệu năng chương trình. Ngôn ngữ lập trình Java hỗ trợ cho bạn điều đó, nghĩa là bạn không phải tự gọi hủy các vùng nhớ Bộ thu dọn rác của Java sẽ theo vết các tài nguyên đã được cấp. Khi không có tham chiếu nào đến vùng nhớ, bộ thu dọn rác sẽ tiến hành thu hồi vùng nhớ đã được cấp phát.

Java hỗ trợ lập trình đa tiến trình (multithread) để thực thi các công việc đồng thời. Đồng thời cũng cung cấp giải pháp đồng bộ giữa các tiến trình (giải pháp sử dụng priority…).

*Tính an toàn và bảo mật.

- Ngôn ngữ lập trình Java yêu cầu chặt chẽ về kiểu dữ liệu.

- Dữ liệu phải được khai báo tường minh.

- Không sử dụng con trỏ và các phép toán với con trỏ.

Java kiểm soát chặt chẽ việc truy nhập đến mảng, chuỗi Không cho phép sử dụng các kỹ thuật tràn Do đó các truy nhập sẽ không vượt quá kích thước của mảng hoặc chuỗi.

Quá trình cấp phát và giải phóng bộ nhớ được thực hiện tự động.

Cơ chế xử lý lỗi giúp việc xử lý và phục hồi lỗi dễ dàng hơn.

Java cung cấp một môi trường quản lý chương trình với nhiều mức khác nhau. Mức 1: Chỉ có thể truy xuất dữ liệu cũng như phương phức thông qua giao diện mà lớp cung cấp.

Mức 2: Trình biên dịch kiểm soát các đoạn mã sao cho tuân thủ các quy tắc của ngôn ngữ lập trình Java trước khi thông dịch.

Mức 3: Trình thông dịch sẽ kiểm tra mã byte code xem các đoạn mã này có đảm bảo được các quy định, quy tắc trước khi thực thi.

Mức 4: Java kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống.

Java Virtual Machine (JVM) hay còn gọi là máy ảo Java – một chương trình thông dịch bytecode của Java thành mã máy tương ứng với từng hệ điều hành và phần cứng khác nhau bằng cách cung cấp một môi trường để thực thi quá trình này.

Một trong những điểm mạnh mà Java sở hữu đó là chạy được trên nhiều nền tảng như Window, Linux, IOS…Sở dĩ Java làm được điều đó là do nó được hỗ trợ JVM trên nhiều nền tảng Với những tính năng nổi bật, JVM là một trong những công cụ được các nhà phát triển tập đoàn Java và cộng đồng nguồn mở sử dụng phổ biến

Giới thiệu về Java Swing

Java Swing là cách gọi rút gọn khi người ta nhắc đến Swing của Java

Foundation (JFC) Nó là bộ công cụ GUI mà Sun Microsystems phát triển để xây dựng các ứng dụng tối ưu dùng cho window (bao gồm các thành phần như nút, thanh cuộn,…).

Swing được xây dựng trên AWT API và hoàn toàn được viết bằng Java Tuy nhiên, nó lại khác với AWT ở chỗ bộ công cụ này thuộc loại nền tảng độc lập, bao gồm các thành phần nhẹ và phức tạp hơn AWT.

Các gói javax.swing bao gồm các lớp cho Java Swing API như JMenu, JButton, JTextField, JRadioButton, JColorChooser,…Việc xây dựng ứng dụng sẽ trở nên dễ dàng hơn với Java Swing vì chúng ta có các bộ công cụ GUI giúp đỡ công việc.Swing được chính thức phát hành vào tháng 3/1998 Nó đi kèm với thư viện Swing 1.0 với hơn 250 lớp, 80 giao tiếp Hiện nay con số này đã được tăng lên, ở phiên bản Swing 1.4 có 451 lớp và 85 giao tiếp Các bản phát hành Java 2 (SDK 1.2 và các phiên bản mới hơn) đều bao gồm Swing trong runtime environment.

1.2.2 Ứng dụng của Java Swing

Java Swing được dùng để hỗ trợ tạo giao diện đồ hoạ người dùng (với

Java).Bộ công cụ này cung cấp các bộ điều khiển nâng cao như thanh trượt, colorpicker, Tree, TabbedPane và bảng điều khiển,

Swing có những đặc điểm:

Độc lập với thiết bị

Có thể tuỳ chỉnh, mở rộng

Ngoài ra bạn cũng có thể tùy chỉnh các điều khiển xoay một cách dễ dàng mà không ảnh hưởng đến các thành phần khác.

Tổng quan về đề tài

Tổng quan đề tài "Nghiên cứu và Xây dựng Phần mềm Quản lý Công việc To-Do List" là việc tạo ra một ứng dụng hoặc hệ thống giúp người dùng tổ chức và quản lý công việc hàng ngày một cách hiệu quả Đây là một ứng dụng To-Do List thông minh có thể được sử dụng trên các nền tảng khác nhau như điện thoại di động, máy tính bảng và máy tính để bàn.

Trong quá trình thực hiện đề tài, nhóm đã nghiên cứu và phát triển những phần như:

- Nghiên cứu nhu cầu người dùng: Đánh giá và hiểu rõ nhu cầu của người dùng khi quản lý công việc hàng ngày Phân tích các tính năng mà họ muốn và cần trong một ứng dụng To-Do List.

- Thiết kế và Phát triển: Xây dựng giao diện người dùng thân thiện và dễ sử dụng, bao gồm việc thiết kế cả cho ứng dụng di động và máy tính để bàn Phát triển các tính năng quản lý công việc như tạo danh sách công việc, đặt thời hạn, đánh dấu độ ưu tiên, và thông báo nhắc nhở.

- Tính năng và Hiệu suất: Đảm bảo tính năng và hiệu suất của ứng dụng

Kiểm tra và tối ưu hóa để đảm bảo ứng dụng hoạt động mượt mà và ổn định.

- Tính Linh hoạt và Mở rộng: Xem xét việc tích hợp các tính năng tiên tiến như trí tuệ nhân tạo hoặc tích hợp với các nền tảng khác như email và lịch làm việc để tăng tính linh hoạt và mở rộng khả năng sử dụng.

- Kiểm thử và Phản hồi: Thử nghiệm với người dùng thực để thu thập phản hồi và cải thiện sản phẩm dựa trên ý kiến của họ.

Hình 1.2: Ảnh minh họa ứng dụng Todolist

PHÂN TÍCH HỆ THỐNG

Biểu đồ use case tổng quát

Hình 2.1: Biểu đồ use case toàn hệ thống

Phân tích các chức năng

Hình 2.2: Biểu đồ use case chức năng đăng nhập

 Mô tả: Người dùng sẽ đăng nhập bằng cách cung cấp email và mật khẩu.

 Các dòng sự kiện chính:

- Người dùng chọn tùy chọn "Đăng nhập" trên màn hình chính.

- Họ cung cấp username và password.

- Hệ thống kiểm tra thông tin username và mật khẩu có trùng khớp với dữ liệu đã lưu hay không.

- Hệ thống thông báo username hoặc mật khẩu người dùng nhập không chính xác

- Người dùng chưa có tài khoản thì chọn đăng kí.

 Điều kiện đầu ra: đăng nhập thành công và khách hàng sẽ được đưa đến trang chủ

Hình 2.3: Biểu đồ use case chức năng đăng ký 2.2.2.2 Mô tả chức năng

 Mô tả: Người dùng có thể đăng ký tài khoản mới bằng cách cung cấp username và mật khẩu.

 Các dòng sự kiện chính:

- Người dùng click "Đăng ký" trên cửa sổ phần mềm.

- Họ cung cấp username, họ tên và mật khẩu.

- Hệ thống kiểm tra tính hợp lệ của thông tin người dùng nhập và tạo tài khoản mới.

 Các dòng sự kiện khác:

- Hệ thống thông báo việc nhập dữ liệu không hợp lệ.

- Người dùng đã có tài khoản thì chọn đăng nhập

 Điều kiện đầu ra: Lưu tài khoản khách hàng đã đăng kí và thông báo thành công

2.2.3 Chức năng thêm mới todo

Hình 2.4: Biểu đồ use case chức năng thêm mới todo

 Mô tả: Người dùng sẽ nhập thông tin như tên nhiệm vụ, mô tả, thời gian và chọn độ ưu tiên của nhiệm vụ.

 Các dòng sự kiện chính:

- Người dùng chọn tùy chọn "Add task" trên màn hình chính.

- Họ cung cấp tên nhiệm vụ, mô tả, thời gian và chọn độ ưu tiên của nhiệm vụ.

- Hệ thống kiểm tra các thông tin đã nhập có hợp lệ không.

- Hệ thống thông báo 1 trong các thông tin người dùng nhập chưa hợp lệ

 Điều kiện đầu ra: Thêm nhiệm vụ thành công, hệ thống sẽ cập nhật lại danh sách todo và thêm thông báo mới

Hình 2.5: Biểu đồ use case chức năng sửa thông tin todo

 Mô tả: Người dùng sẽ chọn vào 1 todo bất kì và sửa chúng.

 Các dòng sự kiện chính:

- Người dùng chọn tùy chọn vào 1 hàng bất kì trong bảng.

- Tích đúp vào cột thông tin muốn chỉnh sửa và nhập nội dung mới.

- Ấn Enter trên bàn phím để xác nhận

- Hệ thống thông báo 1 trong các thông tin người dùng nhập chưa hợp lệ

 Điều kiện đầu ra: Cập nhật nhiệm vụ thành công, hệ thống sẽ cập nhật lại danh sách todo.

Hình 2.5: Biểu đồ use case chức năng xóa todo

 Mô tả: Người dùng sẽ chọn vào 1 todo bất kì và click vào button delete.

 Các dòng sự kiện chính:

- Người dùng chọn tùy chọn 1 hàng todo bất kì trong danh sách trong bảng.

- Click vào button delete hiển thị bên dưới

 Điều kiện đầu ra: Xóa nhiệm vụ thành công, hệ thống sẽ cập nhật lại danh sách todo.

2.2.6 Chức năng hoàn thành todo

Hình 2.6: Biểu đồ use case chức năng hoàn thành todo

 Mô tả: Người dùng sẽ tìm tới cột “done” và checkbox vào 1 nhiệm vụ trong danh sách.

 Các dòng sự kiện chính:

- Người dùng chọn tùy chọn 1 todo bất kì trong danh sách trên màn hình chính.

- Tiến hành checkbox vào cột done của nhiệm vụ đó

 Điều kiện đầu ra: Hệ thống sẽ tự động xóa đi nhiệm vụ đó, cập nhật thông báo đã hoàn thành và đếm số nhiệm vụ hoàn thành trong ngày hôm nay

2.2.7 Chức năng sắp xếp todo

Hình 2.7: Biểu đồ use case chức năng sắp xếp todo

 Mô tả: Người dùng sẽ tùy chọn 1 option gồm có tên, deadline hoặc độ ưu tiên rồi tiến hành click vào nút sắp xếp.

 Các dòng sự kiện chính:

- Người dùng sẽ tùy chọn 1 option gồm có tên, deadline hoặc độ ưu tiên.

- Tiến hành sắp xếp theo option đã chọn ở trên.

 Điều kiện đầu ra: Hệ thống sẽ sắp xếp theo option và cập nhật lại danh sách hiển thị

2.2.8 Chức năng sắp xếp todo

Hình 2.7: Biểu đồ use case chức năng sắp xếp todo

 Mô tả: Người dùng sẽ nhập vào ô tìm kiếm từ khóa bất kì và hệ thống sẽ hiển thị lại danh sách todo tương ứng.

 Các dòng sự kiện chính:

- Người dùng sẽ nhập vào ô tìm kiếm từ khóa bất kì.

- Tiến hành tìm kiếm theo tên của todo.

 Điều kiện đầu ra: Hệ thống sẽ tìm kiếm theo tên của todo và cập nhật lại bảng

LẬP TRÌNH VÀ TRIỂN KHAI PHẦN MỀM

Xây dựng phần mềm

Cấu trúc phần mềm bao gồm như sau:

Hình 3.1: Cấu trúc thư mục chính của dự án

- Thư viện java.io.file: được sử dụng để thao tác với tệp.

- Thư viện java.io.IOException: được sử dụng để xử lý ngoại lệ các vấn đề liên quan đến đọc và ghi dữ liệu vào các luồng (streams) hoặc tệp tin (files).

- Thư viện java.util.logging.Level: là một enum trong Java được sử dụng trong API logging (gửi thông tin log) của Java, cụ thể là java.util.logging package Enum này định nghĩa một số mức độ (levels) khác nhau của log, từ mức độ thấp nhất đến cao nhất, để xác định mức độ quan trọng của thông điệp log.

- Thư viện java.util.logging.logger: là một lớp trong Java cung cấp cơ sở hạ tầng ghi log (loggin infrastructure) để hỗ trợ ghi thông điệp (log messages) từ ứng dụng.

- Dùng events FocusGained và FocusLost:

FocusGained là sự kiện xảy ra khi một thành phần hoặc đối tượng nhận được focus, tức là trở thành đối tượng chính để nhận input từ bàn phím hoặc chuột. FocusLost là sự kiện xảy ra khi một thành phần hoặc đối tượng mất focus, tức là không còn là đối tượng chính để nhận input nữa.

- Về phần button login thì dùng events MouseClicked để nhấn

- Khi nhấn button log in thì gọi một file tệp có tên là login.txt tệp này lưu trữ tên người dùng và mật khẩu của người dùng đăng nhâp và file logged.txt để lưu tên username đã đăng nhập.

- Khi người dùng điền tên xong thì tiếp theo sẽ kiểm tra có đúng tên người dùng và mật khẩu trong file login.txt hay không.

- Khi kiểm tra xong nếu đúng thì sẽ mở cửa sổ MainForm và vào được trang chủ của app

Nếu sai in ra màn hình không đúng tên người dùng hoặc mật khẩu.

- Dùng events MouseClicked để sử dụng nút đăng kí tài khoản

- Khi nhấn nút sign up here thì cửa sổ SignupForm hiện ra để đăng kí tài khoản

3.1.2 Form đăng kí tài khoản

- Thư viện java.awt.Font: được sử dụng để biểu diễn thông tin về phông chữ (font) trong giao diện đồ họa của ứng dụng.

- Thư viện java.io.file: được sử dụng để thao tác với tệp.

- về phần điền thông tin username thì dùng events FocusGained và FocusLost để tạo hiệu ứng nhập tên người dùng.

- kiểm tra người dùng nhập đúng kí tự tối thiểu mới đăng kí được.

- Về phần nhập mật khẩu cũng dùng events FocusGained và FocusLost để tạo hiệu ứng nhập mật khẩu.

- Kiểm tra người dùng nhập đúng kí tự tối thiểu mới đăng kí được.

- Phần nhập lại dùng events FocusGained và FocusLost để tạo hiệu ứng nhập lại mật khẩu.

- Kiểm tra người dùng nhập đúng kí tự tối thiểu mới đăng kí được.

- dùng events MouseClicked để thao tác đăng kí tài khoản.

- nếu phần mật khẩu và phần nhập lại mật khẩu không trùng khớp thì in ra “mật khẩu không trùng khớp” và nhập lại mật khẩu.

- nếu đúng thì sẽ lưu phần tài khoản và mật khẩu vào file login.txt có dạng như sau:

Khi tạo thành công thì lập file username.txt để lưu dữ liệu khi tắt chương trình.

- Thư viên java.awt.Image: một lớp trong thư viện Abstract Window Toolkit (AWT) của Java, được sử dụng để đại diện cho hình ảnh.

- Thư viện java.io.BufferedReader: một lớp trong Java được sử dụng để đọc dữ liệu từ một luồng đầu vào (input stream), có thể là một file, một đối tượng

InputStream, hoặc một đối tượng Reader.

- Thư viện java.io.FileReader: là một lớp trong Java được sử dụng để đọc dữ liệu từ một file văn bản.

- Thư viện java.util.Random: một lớp trong Java được sử dụng để tạo số ngẫu nhiên.

- Thư viện javax.swing.ImageIcon: một lớp trong Java, thuộc gói javax.swing, được sử dụng để hiển thị biểu tượng hình ảnh trong các ứng dụng GUI Swing

- Trong file chương trình có file text là motivation để lưu các thành ngữ tiếng anh khi người dùng bật ô cửa sổ productivity sẽ random một câu thành ngữ tiếng anh sẽ hiện dưới thành tích.

- Phần tiếp theo là mở file logged.txt và đọc dữ liệu username để mở file username_pr.txt để xem các tác vụ đã hoàn thành.

- Phần này để biểu diễn các bậc khác nhau nếu lớn hơn 30 nhiệm vụ thì icon ảnh là

“masterful conqueror” và có từng mức khác nhau như Elite Prodigy,Accomplished Expert,Persistent Overachiever,Consistent Producer,Aspiring Contributor,Novice Worker,Underdog.

- Thư viện java.awt.Font: được sử dụng để biểu diễn thông tin về phông chữ (font) trong giao diện đồ họa của ứng dụng.

- Thư viện java.io.BufferedReader: được sử dụng để đọc dữ liệu từ một luồng đầu vào (input stream) với việc đệm (buffering), giúp tăng hiệu suất đọc dữ liệu

- Thư viện java.io.BufferedWriter: được sử dụng để ghi dữ liệu vào một luồng đầu ra (output stream) với việc đệm (buffering), nhằm tăng cường hiệu suất ghi dữ liệu.

- Thư viện java.io.FileNotFoundExcption:là một loại ngoại lệ Ngoại lệ này được ném khi một ứng dụng cố gắng mở hoặc truy cập một tệp tin, thư mục, hoặc nguồn dữ liệu nào đó mà không tìm thấy đường dẫn được chỉ định.

- Thư viện java.io.FileReader:được sử dụng để đọc dữ liệu từ tệp tin văn bản Nó là một lớp con của lớp InputStreamReader và thường được sử dụng cùng với

BufferedReader để đọc nội dung từ tệp tin một cách hiệu quả.

- Thư viện java.io.FileWriter:được sử dụng để ghi dữ liệu vào một tệp tin văn bản

Nó là một lớp con của lớp Writer và thường được sử dụng cùng với

BufferedWriter để ghi nội dung vào tệp tin một cách hiệu quả.

- Thư viện java.util.Vector:một lớp trong Java thuộc gói java.util, triển khai một mảng động (dynamic array) có thể co dãn (resizable) Vector tương tự như

ArrayList, nhưng khác biệt chính giữa chúng là Vector được đồng bộ

(synchronized), tức là an toàn để sử dụng trong môi trường đa luồng.

- Thư viện javax.swing.Jlabel: một thành phần trong Java Swing được sử dụng để hiển thị văn bản hoặc hình ảnh trong giao diện người dùng.

- Thư viện javax.swing.JoptionPane: một lớp trong Java Swing cung cấp các hộp thoại (dialog boxes) đơn giản để hiển thị thông báo, thu thập dữ liệu từ người dùng, hoặc thực hiện một số chức năng cơ bản.

- Thư viện javax.swing.RowFilter:một lớp trong Java Swing được sử dụng để tạo các quy tắc để lọc dữ liệu trong các thành phần hiển thị dữ liệu của Swing như JTable hoặc JXTable.

- Thư viện javax.swing.table.DefaultTableModel:một lớp trong Java Swing, là một triển khai của giao diện TableModel Nó được sử dụng để lưu trữ dữ liệu cho JTable, một thành phần giao diện người dùng Swing để hiển thị và chỉnh sửa dữ liệu dưới dạng bảng.

- Thư viện javax.swing.table.TableRowSorter:một lớp trong Java Swing được sử dụng để thực hiện việc sắp xếp, lọc và lọc số theo dòng cho Jtable.

- Trong class MainForm tạo các thuộc tính Taskdone dùng để lưu giá trị số việc đã đã hoàn thành, LimitTask là số việc tối đa, TotalTask là tổng số nhiệm vụ đã hoàn thành.

- Tạo hàm lấy ngày hôm nay thì dùng thư viện Java.util.Date để lấy ngày hiện tại, và tạo kiểu date mặc định là ngày/tháng/năm.

- Hàm tiếp theo là dùng để lấy tên username đã đăng nhập trong file logged.txt khi đã đăng nhập trong phần loginForm.java.

- Hàm CheckDeadLine dùng để so sánh ngày tháng năm có thứ tự từ lớn đến bé và sắp xếp chúng theo thứ tự tăng dần.

- Phần thêm nhiệm vụ dùng events MouseClicked để hiện JtextField Taskname và Description.

- Dùng FocusGained và FocusLost để tạo hiệu ứng hiện và mất khi nhấn vào JtextField của Taskname và Description.

- taskname_tfKeyTyped là dùng events KeyTyped để xử lý khi nhập dữ liệu taskname thì nút addtask_btn sẽ hiện.

- cancel_btn dùng events MouseClicked để khi muốn ẩn thì nhấn chữ cancel nó sẽ ẩn đi phần add task.

- Date_tf dùng events KeyTyped để tự động điền dấu / để trở thành dd/mm/yyyy

Triển khai phần mềm

- Cài đặt phần mềm IDE Netbeans nếu chưa có

- Chọn tới thư mục chứa dự án trên thiết bị và mở lên

- Chuột phải vào file “Todolist_Official.java” và tùy chọn “Run File”

3.2.2.1 Giao diện form đăng nhập

Hình 3.2: Giao diện form đăng nhập

3.2.2.2 Giao diện form đăng ký

Hình 3.3: Giao diện form đăng ký

3.2.2.3 Giao diện form trang chủ

Hình 3.4: Giao diện form trang chủ

3.2.2.4 Giao diện form thông báo

Hình 3.5: Giao diện form thông báo

Ngày đăng: 22/07/2024, 16:27

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Ảnh minh họa ngôn ngữ lập trình Java - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 1.1 Ảnh minh họa ngôn ngữ lập trình Java (Trang 8)
Hình 1.2: Ảnh minh họa ứng dụng Todolist - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 1.2 Ảnh minh họa ứng dụng Todolist (Trang 14)
Hình 2.1: Biểu đồ use case toàn hệ thống - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 2.1 Biểu đồ use case toàn hệ thống (Trang 15)
2.2.1.1. Sơ đồ use case - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
2.2.1.1. Sơ đồ use case (Trang 15)
2.2.2.1. Sơ đồ use case - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
2.2.2.1. Sơ đồ use case (Trang 16)
Hình 2.4: Biểu đồ use case chức năng thêm mới todo - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 2.4 Biểu đồ use case chức năng thêm mới todo (Trang 17)
2.2.4.1. Sơ đồ use case - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
2.2.4.1. Sơ đồ use case (Trang 17)
Hình 2.6: Biểu đồ use case chức năng hoàn thành todo - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 2.6 Biểu đồ use case chức năng hoàn thành todo (Trang 19)
2.2.8.1. Sơ đồ use case - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
2.2.8.1. Sơ đồ use case (Trang 20)
Hình 3.1: Cấu trúc thư mục chính của dự án - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 3.1 Cấu trúc thư mục chính của dự án (Trang 21)
Hình 3.2: Giao diện form đăng nhập - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 3.2 Giao diện form đăng nhập (Trang 35)
Hình 3.3: Giao diện form đăng ký - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 3.3 Giao diện form đăng ký (Trang 36)
Hình 3.4: Giao diện form trang chủ - đồ án môn công nghệ java đề tài nghiên cứu và xây dựng phần mềm quản lý công việc todolist
Hình 3.4 Giao diện form trang chủ (Trang 37)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w