intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Mô hình Ứng dụng hướng sự kiện- Event-based Program

Chia sẻ: Pham Long | Ngày: | Loại File: DOC | Số trang:48

195
lượt xem
17
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Sự kiện- Event, còn gọi là biến cố: Một tình huống xẩy ra, thí dụ: người dùng gõ thêm một ký tự vào một textbox làm nội dung trong textbox này bị đổi, user kích vào một nút lệnh để chọn một tác vụ Event object: Chứa thông tin về một biến cố đã xẩy ra Thí dụ về sự kiện chuột : vị trí kích chuột (x,y), đối tượng bị chuột đè lên và kích vào, số lần kích mà người dùng đã bấm (1,2,3 lần kích), phím bị kích (trái,giữa, phải)… Các ứng dụng này có được khi người lập trình sử dụng các...

Chủ đề:
Lưu

Nội dung Text: Mô hình Ứng dụng hướng sự kiện- Event-based Program

  1. Distributed Computing in Java Hướng dẫn chung Mô hình Ứng dụng hướng sự kiện- Event-based Program Sự kiện- Event, còn gọi là biến cố: Một tình huống xẩy ra, thí d ụ: ng ười dùng gõ thêm m ột ký tự vào một textbox làm nội dung trong textbox này bị đổi, user kích vào m ột nút l ệnh đ ể chọn một tác vụ Event object: Chứa thông tin về một biến cố đã xẩy ra Thí dụ về sự kiện chuột : vị trí kích chuột (x,y), đối tượng bị chuột đè lên và kích vào, s ố l ần kích mà người dùng đã bấm (1,2,3 lần kích), phím bị kích (trái,giữa, phải)… Các ứng dụng này có được khi người lập trình sử dụng các ngôn ngữ Visual C++, Visual Basic, Java, C Sharp- Những ngôn ngữ mạnh hiện nay. Ứng dụng loại này là các ứng dụng có GUI (Graphical User Interface). C ơ ch ế v ận hành (frame work) của loại ứng dụng này như sau: 1. Khi chạy ứng dụng, GUI được xuất ra để user tương tác. 2. Lặp - Chờ user tương tác với GUI để có đối tượng sự kiện - Xử lý sự kiện - Xuất kết qủa xử lý lên GUI Khi user còn tương tác. 3. Ngưng Một GUI là một cửa sổ (Window/Frame/Form, tên gọi tùy thu ộc vào công ngh ệ đ ược s ử dụng) đóng vai trò đối tượng chứa (conatiner) chứa các phần tử khác (component/control). Kiến trúc tập tin của một ứng dụng có GUI và cơ chế xử lý sự kiện như sau:
  2. Như vậy, các bước lập trình ứng dụng như sau: 1- Viết code tạo GUI (nhiều công cụ có công cụ trực quan để user tạo GUI) 2- Dự kiến các sự kiện cần được quản lý. 3- Viết code xử lý từng sự kiện. 4- Biên dịch. Việc đưa code quản lý sự kiện vào ứng dụng do trình biên dịch thực hiện tự động. Thiết kế GUI với NetBeans 1) Tạo Project: General/ Java Application – Đặt tên và chọn thư m ục 2) Thêm 1 file: New File/ Java GUI Forms/ Jframe Form/ Đặt tên NetBeans sẽ tự động tạo cho chúng ta một Form để thiết kế GUI. 3) Chọn cách bố trí các phần tử (Kích phải chuột vào form, nênchọn Null Layout) 4) Đưa vào 1 phần tử
  3. 5) Đặt tên biến Cách đặt tên nên dùng: Thêm tiếp đầu ngữ: Thí dụ txt cho textbox, textarea rb cho radiobutton Textbox cho name : txtName chk cho checkbox TextArea cho address : txtArea Radiobutton cho giới tính male: cb cho combobox rbMale Radiobutton cho giới tính female: btn cho button rbFemale 6)Thiết lập thuộc tính Đặt kích thước cửa sổ: Mở code, gọi hành vi thiết lập kích thước cửa sổ vào trong constructor, dưới lời gọi nitComponents. Nhờ tác vụ này, khi chương trình được chạy, cửa sổ sẽ có ngay kjích thước ban đầu. Nếu không làm điều này, cửa sổ chỉ có tiêu đề, user phải kéo cửa sổ cho lớn ra.
  4. 7) Viết code quản lý sự kiện Assigment 1: Introduction to Swimg Assignment Tạo form nhập thông tin về sinh viên theo hình thức ở hình dưới. Nút Validate: Sẽ kiểm tra tính hợp lệ của dữ liệu nhập (mọi field đề phải có dữ liệu) Nút Reset: Xóa trống các ô nhập liệu để user có thể nhập lại thông tin.
  5. Một số gợi ý Ấn định tiêu đề cho cửa sổ: Chọn form/ Properties/ Title - Vẽ khung trên GUI: Thêm 1 JPanel/ chọn JPanel này/ Properties/ Border/ Kích nút bên phải - của sổ Properties/ chọn loại border. Tạo nhóm cho 2 Radiobutton: - Trước khi đưa JradioButton vào Form, hãy thêm 1 JButtonGroup vào form. o Thêm 2 JRadioButton vào form, vào Properties của các radio button này, cho thuộc o tính ButtonGroup là JbuttonGroup vừa đưa vào ở bước trên. Thêm chuỗi vào JComboBox: Chọn JComboBox, vào properties/ Chọn model/ Kích nút bên - phải của sổ Properties để sửa nội dung. Truy xuất thuộc tính text của textbox, textarea: - this.txtName.setText(“”); // xóa trống ô name this.txtAddress.setText(“123 Le Loi”); // sửa nội dung textarea address string s= txtAddress.getText(); // lấy nội dung của text area address đưa vào biến s Assignment 2: Swing Components and DialogBox
  6. Gợi ý Dùng các JSlider - Can thiệp các thuộc tính: minimum, maximum, paintLabel, paintTick, paintTrack, majorTickSpacing, value Mặc định, nhãn sẽ xuất cùng với JSlider là số. Muốn xuất chữ, chúng ta cần phải tạo một bảng ánh xạ các số với các JLabel. Đoạn code sau (đặt trong constructor) sẽ giúp xuất chữ cùng với JSlider:
  7. Assignment 3: Layout Managers Trường kinh doanh Norman là một học viện hàng đầu đào tạo sau đại học về quản trị kinh doanh. MỖi năm có hơn 1000 sinh viên đăng ký vào các khóa học. Viết một chương trình Java giúp ghi nhận thông tin về sinh viên như GUI dưới đây. Nút Reset: Xóa trống các ô text field. Nút Save: Kiểm tra buộc nhập các textfield. Một thông báo sẽ xuất ra phù hợp tùy thuộc vào dữ liệu hợp lệ hay không. Nút Exit: thoát ứng dụng Gợi ý Kiểm tra buộc nhập cho 1 textfield bằng 1 trong 2 cách: (1) Dựa vào độ dài chuỗi String s = textfield.getText(); if (s.length == 0) {…} else {…} (2) Dựa vào hành vi boolean matches(String pattern) của lớp String String s = textfield.getText(); if (s.matches(“^\\w+”)==false) {…} else {…} (3) Xuất thông báo javax.swing.JOptionPane.showMessageDialogBox(this,”Thông báo”);
  8. Assignment 4: Swing Menu Components Viết chương trình chọn mầu cho học sinh lớp 5
  9. - Muốn nút lệnh không có chữ: xóa property text - Chọn mầu nền cho nút lệnh: chọn thuộc tính background - Chọn ảnh cho nút lệnh: thuộc tính icon/ Image Source Type = File/ chọn file.jpg/.gif Muốn lấy mầu nền của nút: - java.awt.Color color= btn.getBackGround(); - Cần 1 biến boolean back=true; để quản lý tô mầu nền hay mầu chữ. - Áp mầu cho text area: if (back==true) txt.setBackground(color); Assignment 5: Swing Advanced Controls Viết chương trình cho phép tìm kiếm các chuyến bay dựa trên thông tin: ga đi (from), ga đến (to), loại ghế (option). Dữ liệu liên quan đến bài toán này ( ứng với các lớp phải xây dựng) bao gồm: Thông tin về 1 chuyến bay  FlightInfo (from,to,flightName,option,price). Thông tin về các chuyến bay  FlightList Sau đó tạo GUI để tương tác.
  10. Lớp mô tả cho một chuyến bay:
  11. Lớp mô tả cho 1 danh sách chuyến bay
  12. Lớp tạo GUI Tên các đối tượng trên form:
  13. Trị Component property Frame title Flight Reservation layout null cbFrom font size=10 cbTo font size=10 rFirstClass font size=10 buttonGroup buttonGroup1 rBusiness font size=10 buttonGroup buttonGroup1 rExecutive font size=10 buttonGroup buttonGroup1 lstResults font size=10 Dữ liệu cần có Danh sách các chuyến bay L Mô hình dữ liệu cho listbox lstResults Các sự kiện cần quản lý User kích chọn 1 ga đi  actionEvent User kích chọn nút Exit  actionEvent User kích chọn nút Search  actionEvent Tác vụ thêm Khởi tạo danh sách các chuyến bay Xuất kết qủa tìm kiếm vào listbox lstResults
  14. Assignment 6: Internationalization Để làm bài này, cần thay đổi font của System về font Unicode cho thanh ti ều đề của cửa sổ nh ư sau: (1) Kích phải màn hình Desktop/ Properties. (2) Chọn thẻ Appearance (3) Kích nút Advance, cửa sổ Advanced Appearance xuất hiện (4) Chọn Item: Active Title Bar
  15. (5) Chọn Font: Tahoma Viết ứng dụng Java cho một công ty của Việt Nam (thay cho Pháp) giúp đổi tiền. Để có giao diện đẹp hơn, sửa GUI như sau:
  16. Trong GUI trên, có 7 nội dung cần đổi và các tập tin properties phải phản ảnh 7 nội dung này. Các file cần có: CurrencyInfo.java chứa khai báo lớp CurrencyInfo mô tả cho một loại tiền. CurrencyList.java chứa khai báo lớp CurrencyList mô tả cho một danh sách các loại tiền. Vietnamese_vn_VN.properties: chứa các khai báo tiêu đề cho GUI tiếng Việt. English_us_US.properties: chứa các khai báo tiêu đề cho GUI tiếng Anh. ConvertPrg.java: chứa lớp ConvertPrg là GUI của chương trình Bước 1: Tạo Project Module_6 Bước 2: Tạo class mô tả cho thông tin tiền tệ Mỗi loại tiền được mô tả bằng loại tiền (type), ký hiệu (symbol), và hệ số đổi m ột $US sang lo ại tiền này. Để tạo cơ chế so sánh tự động theo loại tiền (type) dùng trong lớp CurrencyList-danh sách các loại tiền, lớp CurrencyInfo cần implement hai interface: Comparator và Comparatible.
  17. Bước 3: Tạo tập tin CurrentList.java Vì đặc điểm của các loại tiền trên thế giới là khác nhau. Do vậy, để danh sách các lo ại ti ền có kh ả năng t ự động sắp xếp tên các loại tiền theo thứ tự từ điển (vì phần tử của danh sách là 1 lo ại tiền – lớp CurrencyInfo- đã cung cấp các hàm so sánh theo tên) thì danh sách các lo ại tiền nên là l ớp con c ủa l ớp java.util.TreeSet. Bước 4: Tạo tập tin Vietnamese_vn_VN.properties (New File/ Other/ Properties File/ Đặt tên, để trong thư mục build/classes) Tham khảo một số mã Unicode Một số mã Unicode cho tiếng Việt (tham khảo chức năng insert symbol trong MS Word hoặc Start/All Programs/ Accessories/ System Tools/ Character Map): ư: 01B0 ơ: 01A1 ề: 1EC1 á: 00E1 ì: 00EC Đ: 00D0 đ: 0111 ạ: 1EA1 ổ: 1ED5 ẽ: 1EBD ầ: 1EA7 ậ: 1EAD ố: 1ED1
  18. Bước 5: Tạo tập tin English_us_US.properties Bước 6: Xây dựng lớp ConvertPrg cho chương trình đổi tiền Giao diện và tên các đối tượng trên giao diện:
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2