Bài giảng Lập trình mạng - Chương 5: Abstract Window Toolkit Swing
lượt xem 5
download
Bài giảng "Lập trình mạng - Chapter 5: Abstract Window Toolkit Swing" trình bày các nội dung: Explain Abstract Window Toolkit (AWT), Explain various Containers and Components, Identify events generated by components, Create a standalone AWT application. Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình mạng - Chương 5: Abstract Window Toolkit Swing
- Explain Abstract Window Toolkit (AWT) Explain various Containers and Components Frame Panel Label TextFields and TextAreas Checkboxes and RadioButtons Button Choice Identify events generated by components Create a standalone AWT application Java Simplified / Session 22 / 2 of 45
- Graphical User Interface (GUI) được dùng để nhận dữ liệu nhập theo một cách thức thân thiện với người dùng AbstractWindow Toolkit (AWT) một tập các lớp trong Java cho phép tạo GUI và nhận dữ liệu nhập của người dùng qua chuột và bàn phím AWT cung cấp các item cho phép tạo giao diện hấp dẫn và hiệu quả Java Simplified / Session 6 / 3 of 39 Java Simplified / Session 22 / 3 of 45
- Có 2 kiểu chương trình GUI trong Java: ◦ Stand-alone Applications: chạy độc lập ◦ Applets: chạy trên web page GUI dùng các đối tượng (components) để tạo ra tương tác với người dùng Để dùng Components: ◦ import awt (Abstract Windows Toolkits) or ◦ import swing component libraries: là sự mở rộng và cải tiến của AWT Import java.awt.*; Import javax.swing.*; 4 Java Simplified / Session 22 / 4 of 45
- Component Button Checkbox Container Choice Canvas Label TextComponent Panel Window TextArea TextField Applet Frame Dialog Java Simplified / Session 22 / 5 of 45
- Component: ◦ Bất cứ gì có thể được đặt vào giao diện và có thể hiển thị hoặc thay đổi kích thước ◦ Một số ví dụ: Textfield, Label, Checkbox, Textarea, Button… Label Text field Checkbox Radio button Text Area Button Java Simplified / Session 22 / 6 of 45
- Component class ◦ Cung cấp các phương thức cho nó và ◦ cho các lớp con của nó: Phương thức: ◦ Dimension getSize() ◦ Void setSize(int w, int h) ◦ Void setSize(Dimension p) ◦ Point getLocation() ◦ Void setLocation(int x, int y) ◦ Void setLocation(Point p) ◦… Java Simplified / Session 22 / 7 of 45
- Container là một vùng chứa các thành phần Lớp Container trong gói java.awt dẫn xuất ra hai container được sử dụng phổ biến nhất - Frame và Panel ◦ Frame là một cửa sổ riêng biệt và có đường viền ◦ Panel là một vùng không có đường viền, chứa trong một cửa sổ Cung cấp hàm add() được nạp chồng để bổ sung một thành phần vào lớp cho trước Java Simplified / Session 22 / 8 of 45
- Một cửa sổ độc lập, được sử dụng tạo ra ngững windows cho các giao diện ứng dụng GUI Là lớp con của Window, có thanh tiêu đề, thanh thực đơn, đường viền và các góc có thể thay đổi kích thước Được tạo ra bằng cách dùng các constructor ◦ Frame(): Tạo 1 Frame ẩn không có tiêu đề ◦ Frame(String Title) Tạo 1 Frame ẩn có tiêu đề Title Để giúp Frame hiển thị, sử dụng phương thức ◦ setVisible() Java Simplified / Session 22 / 9 of 45
- Để xây dựng một giao diện ứng dụng cần: Tạo 1 frame: ◦ Ex, Frame TestFrame = new Frame (“My Test Frame”) Dùng add() để thêm các thành phần GUI khác ◦ Ex, TestFrame.add(new Button(“OK”) //optional Đặt kích thước cho frame: ◦ Ex, TestFrame.setSize(300,400);// 300x400 Đóng gói frame ◦ TestFrame.pack() //optional Cho hiện thị frame ◦ TestFrame.setVisible(true); Java Simplified / Session 22 / 10 of10 45
- addWindowListener(new import java.awt.*; WindowAdapter() { import java.awt.event.WindowAdapter; public void import java.awt.event.WindowEvent; windowClosing(WindowEvent we) class FrameDemo extends Frame { { public FrameDemo(String title) setVisible(false); { System.exit(0); super(title); } }); } public static void main (String args[]) { FrameDemo ObjFr = new FrameDemo(" My Test Frame!!!"); ObjFr.setSize(300,200); ObjFr.add(new Button("OK")); ObjFr.setVisible(true); } } Java Simplified / Session 22 / 11 of 45
- Được dùng để nhóm các thành phần lại với nhau Cách đơn giản nhất tạo ra panel là dùng constructor Panel() Vì panel không thể được nhìn thấy trực tiếp, nó phải được thêm vào một Frame Java Simplified / Session 22 / 12 of 45
- import java.awt.*; class PanelDemo extends Panel { public static void main(String args[]) { PanelDemo ObjPanel = new PanelDemo(); Frame ObjFr = new Frame("Testing a Panel!"); ObjFr.add(ObjPanel); ObjFr.setSize(300,200); ObjFr.setVisible(true); } public PanelDemo() { setBackground (Color.magenta); add(new Button("OK")); } } Java Simplified / Session 22 / 13 of 45
- Để sử dụng được các thành phần giao diện đồ họa, cần thực hiện: ◦ Tạo một thành phần GUI bởi 1 constructor thích hợp: Ex: Button btnOK = new Button(“OK”) ◦ Bổ sung thành phần vừa tạo vào thành phần chứa container (ex, Frame): Ex: add(btnOK); //this.add(btnOK) ◦ Nhận và xử lý sự kiện khi chúng xuất hiện: Implement ActionListener, … Viết code. Java Simplified / Session 22 / 14 of14 45
- Chỉ ra mục đích của một item Người dùng không chỉnh sửa được Được tạo ra bằng cách dùng các constructor ◦ Label() Tạo một nhãn không có nội dung ◦ Label(String labeltext) Tạo một nhãn với nội dung là labeltext Java Simplified / Session 22 / 15 of 45
- Dùng để nhập văn bản Chỉ nhập một dòng Được tạo ra bằng cách dùng các constructor ◦ TextField() Tạo một textfield mới ◦ TextField(int columns) Tạo một textfield mới có columns cột (layout) ◦ TextField(String s) Tạo một textfield mới có nội dung s ◦ TextField(String s, int columns) Tạo một textfield mới có nội dung s và columns cột Java Simplified / Session 22 / 16 of 45
- import java.awt.*; public class Label_TextFieldDemo extends Frame { TextField txtName = new TextField(20); Label lblName = new Label("Name :"); public Label_TextFieldDemo (String title) { super(title); setLayout(new FlowLayout()); setSize(300,200); add(lblName); add(txtName); setVisible(true); } public static void main(String args[]) { new Label_TextFieldDemo ("Testing components!"); } } Java Simplified / Session 22 / 17 of 45
- Được dùng khi văn bản có thể nằm trên nhiều dòng TextArea được tạo ra bằng cách dùng các constructor ◦ TextArea() Tạo một textarea mới ◦ TextArea(int rows, int cols) Tạo một textarea mới với rows dòng và cols cột ◦ TextArea(String text) Tạo một textarea mới với nội dung text ◦ TextArea(String text, int rows, int cols) Tạo một textarea mới với nội dung text, rows dòng và cols cột Java Simplified / Session 6 / 18 of 39 Java Simplified / Session 22 / 18 of 45
- import java.awt.*; import java.awt.event.*; class TextComments extends Frame { TextArea txtComment = new TextArea(5,25); Label lblCom = new Label("Comments :"); public TextComments(String title) { super(title); setLayout(new FlowLayout()); add(lblCom); add(txtComment); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { setVisible(false); System.exit(0); } }); } public static void main(String args[]) { TextComments ObjComment = new TextComments("Testing components!"); ObjComment.setSize(200,200); ObjComment.show(); } } Java Simplified / Session 6 / 19 of 39 Java Simplified / Session 22 / 19 of 45
- Cách tốt nhất để ghi nhận các hoạt động của người dùng Được tạo ra bằng cách dùng các constructor ◦ Button() Tạo một button mới ◦ Button(String text) Tạo một button mới với nội dung text Java Simplified / Session 6 / 20 of 39 Java Simplified / Session 22 / 20 of 45
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình mạng
119 p | 1921 | 1059
-
Bài giảng Lập trình mạng: Phần 1
75 p | 157 | 24
-
Bài giảng Lập trình mạng với Java
66 p | 148 | 21
-
Bài giảng Lập trình mạng: Phần 2
112 p | 136 | 16
-
Bài giảng Lập trình mạng: Ôn tập thi hết môn Lập trình mạng - Phạm Trần Vũ
17 p | 121 | 11
-
Bài giảng Lập trình mạng: Chương 1 - ThS. Trần Đắc Tốt
89 p | 118 | 10
-
Bài giảng Lập trình mạng: Chương 1 - Lương Ánh Hoàng
17 p | 122 | 10
-
Bài giảng Lập trình mạng - Lương Ánh Hoàng
81 p | 93 | 10
-
Bài giảng Lập trình mạng: Chương 0 - ĐH Công nghệ Đồng Nai
4 p | 106 | 7
-
Bài giảng Lập trình mạng: Chương 1 - Trương Đình Huy
14 p | 33 | 6
-
Bài giảng Lập trình mạng: Chapter 1 - Nguyễn Thị Thanh Vân
59 p | 70 | 6
-
Bài giảng Lập trình mạng - Chương 5: Lập trình Web - CGI
112 p | 75 | 5
-
Bài giảng Lập trình mạng: Chương 2 - Phạm Trần Vũ
38 p | 80 | 4
-
Bài giảng Lập trình mạng: Mạng máy tính và lập trình mạng - Nguyễn Hữu Thể
25 p | 82 | 4
-
Bài giảng Lập trình mạng - Chương 1: Giới thiệu Lập trình mạng
18 p | 63 | 4
-
Bài giảng Lập trình mạng: Tổng quan về lập trình mạng - Bùi Minh Quân
18 p | 71 | 4
-
Bài giảng Lập trình mạng: Chương 3 - Phạm Trần Vũ
24 p | 88 | 3
-
Bài giảng Lập trình mạng: Giới thiệu môn học - TS. Nguyễn Hoài Sơn
13 p | 95 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn