1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình ứng dụng MiniChat bằng Java dùng cơ chế xử lý Multithread - TS. Nguyễn Văn Hiệp, Nguyễn Quang Hùng

38 68 0

Đ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

Định dạng
Số trang 38
Dung lượng 1,56 MB

Nội dung

Bài giảng Lập trình ứng dụng MiniChat bằng Java dùng cơ chế xử lý Multithread được biên soạn nhằm giúp cho các bạn nắm bắt được những kiến thức về chương trình MiniChat; kỹ thuật lập trình Java Multi-thread; cách xây dựng ứng dụng Minichat bằng JBuilder.

Lập trình ứng dụng MiniChat Java dùng chế xử lý Multithread TS Nguyễn Văn Hiệp, Nguyễn Quang Hùng E-mail: hungnq2@dit.hcmut.edu.vn Website: www.dit.hcmut.edu.vn/~hungnq/courses.htm Mục tiêu Sử dụng chế Java multithread Bài tập ứng dụng MiniChat cho phép làm quen với qui trình xây dựng chương trình theo giao diện “Dialog based” JBuilder Faculty of Information Technology, HCM University of Technology Mục lục Giới thiệu c.trình MiniChat Kỹ thuật lập trình Java Multi-thread Xây dựng ứng dụng Minichat JBuilder a) b) Thiết kế giao diện cho MiniChat Client/Server Thiết kế MiniChat server đáp ứng kết nối đồng thời từ client chế multithread Faculty of Information Technology, HCM University of Technology Giới thiệu ctrình MiniChat      Chức năng: cho phép nhiều user đăng ký vào nhóm để trị chuyện với Mơ hình lựa chọn: client/server Server: quản lý nhóm user nhóm, phân phối chuỗi thơng tin từ user đến user khác Client: giao tiếp với user; cho phép họ đăng ký nhóm; gởi/nhận thông tin cho Định nghĩa giao thức dùng cho hệ thống MiniChat:       Lệnh GLIST Lệnh ULIST Lệnh LOGIN , Lệnh SEND Lệnh LOGOU Dạng reply cho tất request:   N N = 1: Thành công, N = 0: Thất bại Faculty of Information Technology, HCM University of Technology Giao diện ch.trình MiniChat client Cửa sổ nhập thông tin button “Connect” Cửa sổ nhập thông tin button “login” Faculty of Information Technology, HCM University of Technology Giao diện MS Visual C++ IDE Chạy Microsoft Visual C++từ Start  Programs  Microsoft Visual C++ Faculty of Information Technology, HCM University of Technology Kỹ thuật lập trình Java Multithread Tài liệu tham khảo: java.sun.com Kỹ thuật Java Multithread  Thread luồng thực thi chương trình Máy ảo JVM cho phép ứng dụng có nhiều luồng thực thi đồng thời  Có cách dùng Java multithread (đa luồng):   Khai báo lớp kế thừa từ lớp Thread override method Thread.run() Khai báo lớp thực interface Runnable method Runnable.run() Faculty of Information Technology, HCM University of Technology Cách 1: Kế thừa từ lớp Thread 10 11 12 class PrimeThread extends Thread { long minPrime; PrimeThread( long minPrime ) { this.minPrime = minPrime; } public void run( ) { // compute primes larger than minPrime } } PrimeThread p = new PrimeThread(143); p.start(); Faculty of Information Technology, HCM University of Technology Cách 2: Hiện thực giao diện Runnable class PrimeRun implements Runnable { long minPrime; PrimeRun ( long minPrime ) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime } 10 11 12 } PrimeRun p = new PrimeRun(143); new Thread(p).start(); Faculty of Information Technology, HCM University of Technology Application Wizard – Step of Nhập tên quản lý cấu hình run time (nên để mặc định) Rồi ấn nút FINISH để tạo ứng dụng MiniChatClient Faculty of Information Technology, HCM University of Technology Tạo ứng dụng c.trình MiniChatClient Faculty of Information Technology, HCM University of Technology Thiết kế giao diện Chọn tab Design để chuyển sang mode thiết kế giao diện control JComponents JButton, JList, JPanel… Faculty of Information Technology, HCM University of Technology Thiết kế giao diện – Dùng XYLayout Chọn mục Content Pane, thay đổi thuộc tính Layout thành “XYLayout” để thiết kế GUI dạng tự dựa tọa độ trục X Y Faculty of Information Technology, HCM University of Technology Thiết kế giao diện – kéo thành phần Chọn mục tab “SWING”, chọn icon “JButton” vẽ góc trái form, chọn button vừa vẽ quan sát gán giá trị cho thuộc tính “name=btnConnect”, “margin=1,1,1,1”, thuộc tính “text = Connect” Faculty of Information Technology, HCM University of Technology Thiết kế giao diện – tạo nút -Lập lại bước trước để kéo thêm nút: Groups, Login, Users, Send, Logout Faculty of Information Technology, HCM University of Technology Thiết kế giao diện – tạo danh sách nhóm Chọn tab “Swing Containers”, chọn icon “JScrollPane” vẽ crollpane chứa listbox hiển thị danh sách nhóm, thiết lập field name = jspGroups Faculty of Information Technology, HCM University of Technology Thiết kế giao diện -Lặp lại bước vừa để tạo danh sách jlbUsers, jlbContent Vẽ JTextField, thiết lập field name = jtfMessage - Có thể canh trái, trên, phải… thành phần Faculty of Information Technology, HCM University of Technology Thiết kế giao diện – Hoàn tất Faculty of Information Technology, HCM University of Technology Tạo hàm nắm bắt kiện - Chọn nút Connect, chọn tab Events, đưa cursor thuộc tính ActionPerfor med, ấn Enter để chọn hàm xử lý với tên mặc định Faculty of Information Technology, HCM University of Technology Tạo hàm nắm bắt kiện (tiếp) - Viết code cho hàm nắm bắt kiện ấn nút Connect - Lặp lại trình cho nút khác Groups, Login, Users, Send, Logout Faculty of Information Technology, HCM University of Technology Mô hình multi-thread client Faculty of Information Technology, HCM University of Technology Mơ hình lập trình multi-thread server Faculty of Information Technology, HCM University of Technology Code phía Server           // code file MiniChatServerDlg package jbminichatclient; import java.awt.*; import java.awt.event.*; import javax.swing.*; import com.borland.jbcl.layout.*; import java.util.*; import java.net.*; import java.io.*; import java.sql.*; Faculty of Information Technology, HCM University of Technology Code phía Server (tiếp)           public class MiniChatServerDlg extends JFrame implements MessageListener { //các thuộc tính cần dùng cho Server int m_groupcnt; // số nhóm T_UserRec m_sock_no_user=null; // danh sách user chưa login T_GroupList m_grouplist[] = new T_GroupList[10]; // danh sách nhóm String uname; // tên user ServerSocket serverSocket; // socket mà server dùng ₫ể accept final int SERVER_PORT = 256; // port lắng nghe server //các thuộc tính cần dùng cho Server JPanel contentPane; Faculty of Information Technology, HCM University of Technology ... Giới thiệu c .trình MiniChat Kỹ thuật lập trình Java Multi-thread Xây dựng ứng dụng Minichat JBuilder a) b) Thiết kế giao diện cho MiniChat Client/Server Thiết kế MiniChat server đáp ứng kết nối...Mục tiêu Sử dụng chế Java multithread Bài tập ứng dụng MiniChat cho phép làm quen với qui trình xây dựng chương trình theo giao diện “Dialog based” JBuilder Faculty... of Technology Kỹ thuật lập trình Java Multithread Tài liệu tham khảo: java. sun.com Kỹ thuật Java Multithread  Thread luồng thực thi chương trình Máy ảo JVM cho phép ứng dụng có nhiều luồng thực

Ngày đăng: 08/05/2021, 17:27

TỪ KHÓA LIÊN QUAN