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...
Nội dung trích xuất từ tài liệu:
Mô hình Ứng dụng hướng sự kiện- Event-based Program
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:
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ử
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.
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.
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
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:
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 { ...