Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 193 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
193
Dung lượng
1,19 MB
Nội dung
Bộ giáo dục v đo tạo Trờng đại học s phạm kỹ thuật hng yên -ooo Đề cơng giảng Java sở Chng CÁC KHÁI NIỆM CƠ BẢN BÀI LÀM QUEN VỚI JAVA I Lịch sử java Java ngôn ngữ lập trình Sun Microsystems giới thiệu vào tháng năm 1995 Từ đó, trở thành cơng cụ lập trình lập trình viên chun nghiệp Java xây dựng tảng C C++ Do sử dụng cú pháp C đặc trưng hướng đối tượng C++ Ban đầu Java thiết kế để làm ngôn ngữ viết chương trình cho sản phẩm điện tử dân dụng đầu video, tivi, điện thoại, máy nhắn tin Tuy nhiên với mãnh mẽ Java khiến tiếng đến mức vượt ngồi tưởng tượng nhà thiết kế Java khởi thuỷ tên Oak- sồi mọc phía sau văn phịng nhà thiết kế ông Jame Gosling, sau ông thấy có ngơn ngữ lập trình tên Oak rồi, nhóm thiết kế định đổi tên, “Java” tên chọn, Java tên quán cafe mà nhóm thiết kế java hay đến uống II Java em Java ngơn ngữ lập trình hướng đối tượng, dùng Java để viết chương trình hướng chức Java giải hầu hết công việc mà ngôn ngữ khác làm Java ngơn ngữ vừa biên dịch vừa thông dịch Đầu tiên mã nguồn biên dịch công cụ JAVAC để chuyển thành dạng ByteCode Sau thực thi loại máy cụ thể nhờ chương trình thơng dịch JAVA Mục tiêu nhà thiết kế Java cho phép người lập trình viết chương trình lần chạy phần cứng cụ thể, nên hiệu nhà thiết kế Java “Write One, Run Any Where” Ngày nay, Java sử dụng rộng rãi để viết chương trình chạy Internet Nó ngơn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành Java không dùng để viết ứng dụng chạy đơn lẻ hay mạng mà để xây dựng trình điều khiển thiết bị cho điện thoại di động, PDA, … II Một số đặc trưng java 1.Đơn giản Những người thiết kế mong muốn phát triển ngôn ngữ dễ học quen thuộc với đa số người lập trình Java tựa C++, lược bỏ đặc trưng phức tạp, không cần thiết C C++ như: thao tác trỏ, thao tác định nghĩa chồng tốn tử (operator overloading),… Java khơng sử dụng lệnh “goto” file header (.h) Cấu trúc “struct” “union” loại bỏ khỏi Java Nên có người bảo Java “C++ “, ngụ ý bảo java C++ bỏ thứ phức tạp, khơng cần thiết Hướng đối tượng Có thể nói java ngơn ngữ lập trình hồn tồn hướng đối tượng, tất cảc java vật, vật Độc lập với hệ Mục tiêu nhà thiết kế java độc lập với hệ hay gọi độc lập phần cứng hệ điều hành Đây khả chương trình viết máy chạy đâu Tính độc lập với phần cứng hiểu theo nghĩa chương trình Java chạy phần cứng họ máy chạy tất họ máy khác Một chương trình chạy số họ máy cụ thể gọi phụ thuộc vào phần cứng Tính độc lập với hệ điều hành hiểu theo nghĩa chương trình Java chạy tất hệ điều hành Một chương trình chạy số hệ điều hành gọi phụ thuộc vào hệ điều hành Các chương trình viết java chạy hầu hết hệ mà khơng cần phải thay đổi gì, điều người lập trình đặt cho hiệu ‘viết lần, chạy nơi’, điều khơng thể có với ngơn ngữ lập trình khác Đối với chương trình viết C, C++ ngơn ngữ khác, trình biên dịch chuyển tập lệnh thành mã máy (machine code), hay lệnh vi xử lý Những lệnh phụ thuộc vào CPU máy bạn Nên muốn chạy loại CPU khác, phải biên dịch lại chương trình Mạnh mẽ Java ngơn ngữ yêu cầu chặt chẽ kiểu liệu, việc ép kiểu tự động bừa bãi C, C++ hạn chế Java, điều làm chương trình rõ ràng, sáng sủa, lỗi hơn.Java kiểm tra lúc biên dịch thời gian thơng dịch Java loại bỏ loại lỗi lập trình định.Java không sử dụng trỏ phép toán trỏ Java kiểm tra tất truy nhập đến mảng, chuỗi thực thi để đảm bảo truy nhập khơng ngồi giới hạn kích thước Trong mơi trường lập trình truyền thống, lập trình viên phải tự cấp phát nhớ Trước chương trình kết thúc phải tự giải phóng nhớ cấp Vấn đề nảy sinh lập trình viên qn giải phóng nhớ xin cấp trước Trong chương trình Java, lập trình viên bận tâm đến việc cấp phát nhớ Qúa trình cấp phát, giải phóng thực tự động, nhờ dịch vụ thu nhặt đối tượng không sử dụng (garbage collection) Cơ chế bẫy lỗi Java giúp đơn giản hóa qúa trình xử lý lỗi hồi phục sau lỗi Hỗ trợ lập trình đa tuyến Đây tính cho phép viết chương trình có nhiều đoạn mã lệnh chạy song song với Với java ta viết chương trình có khả chạy song song cách dễ dàng, việc đồng tài nguyên dùng chung Java đơng giản Điều khơng thể có số ngơn ngữ lập trình khác C/C++, pascal … Phân tán Java hỗ trợ đầy đủ mơ hình tính tốn phân tán: mơ hình client/server, gọi thủ tục từ xa… Hỗ trợ internet Mục tiêu quan trọng nhà thiết kế java tạo điều kiện cho nhà phát triển ứng dụng viết chương trình ứng dụng internet web cách dễ dàng, với java ta viết chương trình sử dụng giao thức TCP, UDP cách dễ dàng, lập trình web phía máy khách java có cơng nghệ java applet, lập trình web phía máy khách java có cơng nghệ servlet/JSP, lập trình phân tán java có cơng nghệ RMI, CORBA, EJB, Web Service Thơng dịch Các chương trình java cần thơng dịch trước chạy, chương trình java biên dịch thành mã byte code mã độc lập với hệ nền, chương trình thơng dịch java ánh xạ mã byte code lên cụ thể, điều khiến java chậm chạp phần III Các kiểu ứng dụng Java Với Java ta xây dựng kiểu ứng dụng sau: Ứng dụng Applets Applet chương trình Java tạo để sử dụng Internet thơng qua trình duyệt hỗ trợ Java IE hay Netscape Applet nhúng bên trang Web Khi trang Web hiển thị trình duyệt, Applet tải thực thi trình duyệt Ứng dụng dịng lệnh (console) Các chương trình chạy từ dấu nhắc lệnh không sử dụng giao diện đồ họa Các thông tin nhập xuất thể dấu nhắc lệnh Ứng dụng đồ họa Đây chương trình Java chạy độc lập cho phép người dùng tương tác qua giao diện đồ họa JSP/Servlet Java thích hợp để phát triển ứng dụng nhiều lớp Applet chương trình đồ họa chạy trình duyệt máy trạm Ở ứng dụng Web, máy trạm gửi yêu cầu tới máy chủ Máy chủ xử lý gửi kết trở lại máy trạm Các Java API chạy máy chủ chịu trách nhiệm xử lý máy chủ trả lời yêu cầu máy trạm Các Java API chạy máy chủ mở rộng khả ứng dụng Java API chuẩn Các ứng dụng máy chủ gọi JSP/Servlet Applet máy chủ Xử lý Form HTML cách sử dụng đơn giản JSP/Servlet Chúng cịn dùng để xử lý liệu, thực thi giao dịch thường thực thi thông qua máy chủ Web Ứng dụng sở liệu Các ứng dụng sử dụng JDBC API để kết nối tới sở liệu Chúng Applet hay ứng dụng, Applet bị giới hạn tính bảo mật Ứng dụng mạng Java ngôn ngữ thích hợp cho việc xây dựng ứng dụng mạng Với thư viện Socket bạn lập trình với hai giao thức: UDP TCP Ứng dụng nhiều tầng Với Java bạn xây dựng phân tán nhiều tầng với nhiều hỗ trợ khác như: RMI, CORBA, EJB, Web Service Ứng dụng cho thiết bị di động Hiện phần lớn thiết bị di động như: Điện thoại di động, máy trợ giúp cá nhân… hỗ trợ Java Thế nên bạn xây dựng ứng dụng chạy thiết bị di động Đây kiểu ứng dụng hấp dãn, thiết bị di động ngày phổ biến nhu cầu có ứng dụng chạy đó, đặc biệt ứng dụng mang tính chất giải trí game… IV Máy ảo Java (JVM-Java Virtual Machine) Máy ảo phần mềm mơ máy tính thật (máy tính ảo) Nó có tập hợp lệnh logic để xác định hoạt động máy tính có hệ điều hành ảo Người ta xem máy tính thật (máy tính có phần cứng ảo, hệ điều hành ảo) Nó thiết lập lớp trừu tượng cho: Phần cứng bên dưới, hệ điều hành, mã biên dịch Trình biên dịch chuyển mã nguồn thành tập lệnh máy ảo mà không phụ thuộc vào phần cứng hệ điều hành cụ thể Trình thơng dịch máy chuyển tập lệnh thành chương trình thực thi Máy ảo tạo môi trường bên để thực thi lệnh cách: Nạp file class Quản lý nhớ Dọn “rác” Việc không quán phần cứng làm cho máy ảo phải sử dụng ngăn xếp để lưu trữ thông tin sau: Các “Frame” chứa trạng thái phương thức Các toán hạng mã bytecode Các tham số truyền cho phương thức Các biến cục Khi JVM thực thi mã, ghi cục có tên “Program Counter” sử dụng Thanh ghi trỏ tới lệnh thực Khi cần thiết, thay đổi nội dung ghi để đổi hướng thực thi chương trình Trong trường hợp thơng thường lệnh nối tiếp thực thi Một khái niệm thơng dụng khác Java trình biên dịch “Just In Time-JIT” Các trình duyệt thơng dụng Netscape hay IE có JIT bên để tăng tốc độ thực thi chương trình Java Mục đích JIT chuyển tập lệnh bytecode thành mã máy cụ thể cho loại CPU Các lệnh lưu trữ sử dụng gọi đến BÀI NỀN TẢNG CỦA JAVA I Tập ký tự dùng java Mọi ngơn ngữ nói chung, ngơn ngữ lập trình nói riêng phải xây dựng tập hợp chữ (hay gọi bảng chữ cái), kí tự nhóm lại theo cách để tạo thành từ, từ lại nhóm lại thành câu (trong ngơn ngữ lập trình gọi câu lệnh), chương trình máy tính tính tập câu lệnh bố trí theo trật tự mà người viết chúng đặt Ngôn ngữ java được xây dựng bảng chữ unicode, ta dùng kí tự unicode để đặt tên cho định danh II Từ khố Java Mỗi ngơn ngữ lập trình có tập từ khố, người lập trình phải sử dụng từ khố theo nghĩa mà người thiết kế ngôn ngữ đề ra, ta định nghĩa lại nghĩa từ khoá, sử dụng để đặt tên biến, hàm Sau số từ khố thường gặp: Từ khóa Mơ tả abstract Sử dụng để khai báo lớp, phương thức trừu tượng boolean Kiểu liệu logic break Được sử dụng để kết thúc vòng lặp cấu trúc switch byte kiểu liệu số nguyên case sử dụng lện switch cast Chưa sử dụng (để dành cho tương lai) catch sử dụng xử lý ngoại lệ char kiểu liệu ký tự class Dùng để khai báo lớp const Chưa dùng continue dùng vòng lặp để bắt đầu vòng lặp default sử dụng lệnh switch dùng vòng lặp điều kiện sau double kiểu liệu số thực else khả lựa chọn thứ hai câu lệnh if extends lớp đựơc kế thừa từ lớp khác false Gía trị logic final Dùng để khai báo số, phương thức ghi đè, lớp kế thừa finally phần cuối khối xử lý ngoại lệ float kiểu số thực for Câu lệnh lặp goto Chưa dùng if Câu lệnh lựa chọn implements lớp triển khai từ giao diện import Khai báo sử dụng thư viện instanceof kiểm tra đối tượng có phải thể lớp hay không interface sử dụng để khai báo giao diện long kiểu số nguyên native Khai báo phương thức viết ngông ngữ biên dịch C++ new tạo đối tượng null đối tượng không tồn package Dùng để khai báo gói private đặc tả truy xuất protected đặc tả truy xuất public đặc tả truy xuất } } Dịch xong chạy mơi trường DOS: java DirectoryLister c:\users\lan Tất tệp danh mục c:\users\lan lên Chương LẬP TRÌNH ĐỒ HOẠ Một khả Java cho phép ta xây dựng ứng dụng có giao diện đồ hoạ hay gọi GUI (Grapthical User Interface) Khi Java phát hành, thành phần đồ hoạ tập trung vào thư viện mang tên Abstract Window Toolkit (AWT) Đối với hệ nền, thành phần AWT ánh xạ sang thành phần cụ thể, cách sử dụng trực tiếp mã native hệ nền, phụ thuộc nhiều vào hệ cịn gây lỗi số hệ Với phát hành Java 2, thành phần giao diện thay tập hợp thành phần linh hoạt, đa năng, mạnh mẽ, độc lập với hệ thuộc thư viện Swing Phần lớn thành phần thư viện Swing tô vẽ trược tiếp canvas mã lệnh Java, ngoại trừ thành phần lớp lớp java.awt.Window Java.awt.Panel vốn phải đựơc vẽ GUI cụ thể Thành phần Swing phụ thuộc vào hệ gặp lỗi đặc biệt sử dụng tài ngun hệ thống thành phần thư viện awt Mặc dù thành phần awt hỗ trợ Java nhưng, nhiên Sun khuyên bạn nên sử dụng thành phần Swing thay cho thành phần awt, nhiên thành phần thư viện Swing thay tất thành phần thư viện awt Chúng thay phần awt như: Button, Panel, TextFeild, v.v Còn lớp trợ giúp khác awt : Graphics, Color, Font, FontMetrics, v.v không thay đổi Bên cạnh thành phần Swing cịn sử dụng mơ hình sử lý kiện awt I Giới thiệu hệ thống đồ hoạ Java Giới thiệu chung Thiết kế API cho lập trình đồ hoạ Java ví dụ hồn hảo cách dùng lớp, kế thừa giao diện API cho lập trình độ hoạ bao gồm tập nhiều lớp nhằm trợ giúp xây dựng thành phần giao diện khác như: cửa sổ,nút ấn, ô văn bản, menu, hộp kiểm, v.v Mối quan hệ kế thừa thành phần mô tả hình sau: Componient Đây lớp (trừu tượng) cha lớp giao diện người dùng Lớp cung cấp thuộc tính, hành vi tất thành phần giao diện Container Là vật chứa dùng để ghép nhóm thành phần giao diện khác Mỗi vật chứa có lớp quản lý hiển thị, lớp quản lý hiển thị có trách nhiệm bố trí cách thức hiển thị thành phần bên Hai vật chứa hay sử dụng la JFrame JPanel Jcomponient Là lớp cha thành phần Swing ligth weight, vẽ trực tiếp lên canvas mã lệnh Java Window Được sử dụng để tạo cửa sổ, Thông thường ta hay sử dụng hai lớp JFrame JDialog JFrame cửa sổ không lồng bên cửa sổ khác JDialog cửa sổ hiển thị dạng modal JAplet lớp cha lớp ứng dụng aplet JPanel vật chứa, lưu giữ thành phần giao diện người dùng Graphics lớp trừu tượng cung cấp ngữ cảnh đồ hoạ để vẽ đối tượng đồ hoạ như: Đường thẳng, đường trịn, hình ảnh… 10 Color lớp biểu diễn mầu sắc 11 Font lớp biểu thị cho font đồ hoạ 12 FontMetrics lớp trừu tượng dùng để xác định thuộc tính Font Tất thành phần đồ hoạ thư viện Swing nhóm gói javax.swing Đa số thành phần thư viện Swing có tiếp đầu ngữ ‘J’, Ví dụ nút lệnh thư viện Swing có tên JButton, memu có tên JMenu Tất lớp khác liệt kê hình Chú ý: Đừng pha trộn thành phần giao diện swing awt ứng dụng Chẳng hạn đừng nên đặt JButton vào Panel đừng nên đặt Button vào JPanel Việc làm gây lỗi Một lớp kế thừa từ lớp JComponent thể hình sau: Một số phương thức lớp Component Lớp Component cung cấp thuộc tính, phương thức chung cho lớp Sau số phương thức lớp Component : - Dimension getSize():cho lại đối tượng thuộc lớp Dimension gồm width (chiều rộng), height (chiều cao) xác định kích thước thành phần tính theo pixel - void setSize(int width, int height) void setSize(Dimension d) đặt lại kích thước thành phần - Point getLocation(): cho lại tọa độ (kiểu Point) bên trái (tọa độ gốc) thành phần xét - void setLocation(int x, int y) void setLocation(Point p) đặt lại tọa độ định cho thành phần - Rectangle getBounds():cho lại đường biên hình chữ nhật Rectangle bao gồm tọa độ gốc chiều dài, chiều rộng hình chữ nhật - void setBounds(int x, int y) void setBounds(Rectangle r):đặt lại đường biên cho thành phần - void setForeground(Color c):được sử dụng để đặt màu vẽ cho thành phần đồ họa - void setBackground(Color c):đặt màu cho thành phần đồ họa Các tham số hai hàm đối tượng lớp Color giới thiệu phần sau - Font getFont(): sử dụng để biết font chữ xử lý thành phần đồ họa - void setFont(Font f):đặt lại font chữ cho thành phần - void setEnabled(boolean b):Nếu đối số b hàm getEnabled() true thành phần xét hoạt động bình thường, nghĩa có khả kích hoạt (enable), trả lời yêu cầu người sử dụng sinh kiện mong muốn Ngược lại, false thành phần tương ứng khơng kích hoạt được, nghĩa trả lời yêu cầu người sử dụng - Lưu ý: Tất thành phần giao diện khởi tạo kích hoạt - void setVisible(boolean b):Một thành phần đồ họa hiển thị lên hình (nhìn thấy được) bị che giấu tùy thuộc vào đối số hàm setVisible() true hay false Lớp Container Lớp Container lớp lớp trừu tượng Component Các lớp chứa (lớp Container) cung cấp tất chức để xây dựng giao diện đồ họa ứng dụng, có phương thức add() nạp chồng dùng để bổ sung thành phần vào vật chứa phương thức remove() nạp chồng để gỡ bỏ thành phần khỏi vật chứa Tạo Frame Lớp JFrame lớp lớp Frame (Frame lớp lớp Window) sử dụng để tạo cửa sổ cho giao diện ứng dụng GUI Kịch chung để tạo cửa sổ là: Tạo frame có tiêu đề đó, ví dụ “My Frame” : JFrame myWindow= new JFrame(“My Frame”); Xây dựng cấu trúc phân cấp thành phần cách sử dụng hàm myWindow.getContentPane().add() để bổ sung thêm JPanel thành phần giao diện khác vào Frame: Ví dụ: myWindow.getContentPane().add(new JButton(“OK”));// Đưa vào nút (JButton) có tên “OK” vào frame Đặt lại kích thước cho frame sử dụng hàm setSize(): myWindow.setSize(200, 300);// Đặt lại khung frame 200 ( 300 Gói khung frame lại hàm pack(): myWindow.pack(); Cho frame: myWindow.setVisible(true); II Trình quản lý hiển thị Java Khi thiết kế giao diện đồ họa cho ứng dụng, phải quan tâm đến kích thước cách bố trí (layout) thành phần giao diện như: JButton, JCheckbox, JTextField, v.v cho tiện lợi người sử dụng Java có lớp đảm nhiệm công việc quản lý thành phần giao diện GUI bên vật chứa Bảng sau cung cấp bốn lớp quản lý layout (cách bố trí xếp) thành phần GUI Tên lớp Mô tả FlowLayout Xếp thành phần giao diện trước tiên theo hàng từ trái qua phải, sau theo cột từ xuống Cách xếp mặc định Panel, JPanel ,Applet JApplet GridLayout Các thành phần giao diện xếp lưới hình chữ nhật theo hàng từ trái qua phải theo cột từ xuống phần tử chứa Mỗi thành phần giao diện chứa ô BorderLayout Các thành phần giao diện (ít 5) đặt vào vị trí theo hướng: north (bắc), south (nam), west (tây), east (đông) center (trung tâm)) Cách xếp mặc định lớp Window, Frame, Jframe, Dialog JDialog GridBagLayout Cho phép đặt thành phần giao diện vào lưới hình chữ nhật, thành phần chiếm nhiều nhiều null Các thành phần bên vật chứa không sẵp lại kích thước vật chứa thay đổi Các phương pháp thiết đặt layout Để lấy layout hay để đặt lại layout cho vật chứa, sử dụng hai phương thức lớp Container: LayoutManager getLayout(); void setLayout(LayoutManager mgr); Các thành phần giao diện sau tạo phải đưa vào phần tử chứa Hàm add() lớp Container nạp chồng để thực nhiệm vụ đưa thành phần vào phần tử chứa Component add(Component comp) Component add(Component comp, int index) Cmponent add(Component comp, Object constraints) Cmponent add(Component comp, Object constraints, int index) Trong đó, đối số index sử dụng để vị trí cần đặt thành phần giao diện comp vào Đối số constraints xác định hướng để đưa comp vào phần tử chứa Ngược lại, cần loại khỏi phần tử chứa thành phần giao diện sử dụng hàm sau: void remove(int index) void remove(Component comp) void removeAll() Lớp FlowLayout Lớp FlowLayout cung cấp hàm tạo lập để hàng thành phần giao diện: FlowLayout() FlowLayout(int aligment) FlowLayout(int aligment, int horizongap, int verticalgap) public static final int LEFT public static final int CENTER public static final int RIGHT Đối số aligment xác định cách theo hàng: từ trái, phải hay trung tâm, horizongap verticalgap khoảng cách tính theo pixel hàng cột Trường hợp mặc định khoảng cách hàng, cột pixel Lớp GridLayout Lớp GridLayout cung cấp hàm tạo lập để hàng thành phần giao diện: GridLayout() GridLayout(int rows, int columns) GridLayout(int rows, int columns, int hoiongap, int verticalgap) Tạo lưới hình chữ nhật có rows ( columns có khoảng cách hàng cột horizongap, verticalgap Một hai đối số rows columns 0, khơng thể hai, GridLayout(1,0) tạo lưới có hàng 3.Lớp BorderLayout Lớp BorderLayout cho phép đặt thành phần giao diện vào bốn hướng: bắc (NORTH), nam (SOUTH), đông (EAST), tây (WEST) (CENTER) BorderLayout() BorderLayout(int horizongap, int verticalgap) Tạo layout mặc định có khoảng cách thành phần (tính pixel) horizongap theo hàng verticalgap theo cột Component add(Component comp) void add(Component comp, Object constraint) public static final String NORTH public static final String SOUTH public static final String EAST public static final String WEST public static final String CENTER Trường hợp mặc định CENTER, ngược lại, định hướng để đặt thành phần comp vào phần tử chứa theo constraint III Xử lý kiện Java Các ứng dụng với GUI thường hướng dẫn kiện (event) Việc nhấn nút, mở, đóng Window hay gõ ký tự từ bàn phím, v.v tạo kiện (event) gửi tới cho chương trình ứng dụng Trong Java kiện thể đối tượng Lớp sở nhất, lớp cha tất lớp kiện lớp java.util.EventObject Hình H7-20 Các lớp xử lý kiện Các lớp AWTEvent chia thành hai nhóm: Các lớp mô tả ngữ nghĩa kiện, Các lớp kiện mức thấp Ý nghĩa lớp a ActionEvent Sự kiện phát sinh hoạt thực thành phần GUI Các thành phần gây kiện hành động bao gồm: JButton - nút button khích hoạt, JList - mục danh sách kích hoạt đúp, JmenuItem, JcheckBoxMenu, JradioMenu - mục thực đơn chọn, JTextField - gõ phím ENTER trường văn (text) b AdjustmentEvent Sự kiện xẩy ta điều chỉnh (adjustment) giá trị (JScollBar) Scrollbar - thực lần chỉnh trượt Scrollbar Lớp có phương thức int getValue(): cho lại giá trị thời xác định lần chỉnh sau c ItemEvent Các thành phần GUI gây kiện mục gồm có: JCheckbox - trạng thái hộp kiểm tra Checkbox thay đổi CheckboxMenuItem - trạng thái hộp kiểm tra Checkbox ứng với mục thực đơn thay đổi JRadioButton- trạng thái hộp chọn (Option) thay đổi JList - mục danh sách chọn bị loại bỏ chọn JCompoBox - mục danh sách chọn bị loại bỏ chọn Lớp ItemEvent có phương thức Object getItem(): Cho lại đối tượng chọn hay vừa bị bỏ chọn d TextEvent Các thành phần GUI gây kiện text gồm có: TextArea - kết thúc nhấn nút ENTER, TextField - kết thúc nhấn nút ENTER e ComponentEvent Sự kiện xuất thành phần bị ẩn đi/hiển thay thay đổi lại kích thước Lớp ComponentEvent có phương thức: Component getComponent() Cho lại đối tượng tham chiếu kiểu Component f ContainerEvent Sự kiện xuất thành phần bổ sung hay bị loại bỏ khỏi vật chứa (Container) g FocusEvent Sự kiện loại xuất thành phần nhận focus h KeyEvent Lớp KeyEvent lớp lớp trừu tượng InputEvent sử dụng để xử lý kiện liên quan đến phím bàn phím Lớp có phương thức: int getKeyCode() - Đối với kiện KEY_PRESSED KEY_RELEASED, hàm sử dụng để nhận lại giá trị nguyên tương ứng với mã phím bàn phím char getKeyChar() - Đối với kiện KEY_PRESSED, hàm sử dụng để nhận lại giá trị nguyên, mã Unicode tương ứng với ký tự bàn phím i MouseEvent Lớp MouseEvent lớp lớp trừu tượng InputEvent sử dụng để xử lý tín hiệu chuột Lớp có phương thức: int getX() int getY() Point getPoint() Các hàm sử dụng để nhận lại tọa độ x, y vị trí liên quan đến kiện chuột gây void translatePoint(int dx, int dy) Hàm translate() sử dụng để chuyển tọa độ kiện chuột gây đến (dx, dy) int getClickCount() Hàm getClickCount() đếm số lần kích chuột j PaintEvent Sự kiện xuất thành phần vẽ lại, thực tế kiện xẩy phương thức paint()/ update() gọi đến k WindowEvent Sự kiện loại xuất thao tác với Window, chẳng hạn như: đóng, phóng to, thu nhỏ cửa sổ Lớp có phương thức: Window getWindow() Hàm cho lại đối tượng lớp Window ứng với kiện liên quan đến Window xảy Kiểu kiện Nguồn gây kiện Phương thức ký, gõ bỏ Giao đối tượng lắng nghe Listener diện lắng nghe tương ứng AcitionEvent JButton JList TexField AdjustmentEvent addComponentlistener AcitionListener removeActiontListener ItemEvent JCheckbox addAdjustmentListener AdjustmentListe removeAdjustmentListener JScrollbar ner addItemListener ItemListener JCheckboxMenuItem removeItemListener JRadioButton JList JCompoBox JTextArea addTexListener JTexField TextEvent TextListener removeTextListener JTextPane JEditorPane ComponentEvent Component addComponentListener removeComponentListener ner FocusEvent Component addContainerListener ContainerListen removeContainerListener ContainerEvent Container ComponentListe er addFocusListener FocusListener removeFocusListener KeyEvent Component addkeyListener KeyListener removeKeyListener Component addMouseListener MouseMotionLi remoMouseListener MouseEvent stener addMouseMotionListener remoMouseMotionListener WindowEvent Window addWindowListener removeWindowListener WindowListener Một số lớp điều hợp Giao diện Listener lắng nghe Lớp điều hợp tương ứng AcitionListener Khơng có lớp điều hợp tương ứng AdjustmentListener AdjustmentAdapter ItemListener Khơng có lớp điều hợp tương ứng TextListener Khơng có lớp điều hợp tương ứng ComponentListener ComponentAdapter ContainerListener ContainerAdapter FocusListener FocusAdapter KeyListener KeyAdapter MouseMotionListener MouseMotionAdapter WindowListener WindowAdapter ... System.out.println("Less than "); System.out.println(" i < j = " + (i < j));// true System.out.println(" j < i = " + (j < i));// false System.out.println(" k < j = " + (k < j));// false //less than or equal to System.out.println("Less... Variable=booleanExpression? true-result-expression: false-result-expression; 1.3 cấu trúc switch a) Dạng khuyết Cú pháp switch(biểu_thức) { case gt_1: lệnh 1; [ break;] case gt_2: lệnh 2; [ break;] … case gt_n:... if(Boolean-expression) statement; hoạt động cấu trúc if thiếu mô ta qua s? ? đồ sau: b) dạng đủ Cú pháp if(Boolean-expression) statement1; else statement2; hoạt động cấu trúc if thiếu mô ta qua s? ? đồ sau: