PHẦN 1 TỔNG QUAN JAVABEANS
KHÁI NIỆM JAVA BEANS
Kiến trúc JavaBean TM dựa trên mô hình component. Mô hình này cho phép các nhà phát triển phần mềm tạo ra các đơn vị phần mềm có tên gọi là component.
Các component đuợc lắp ghép vào các applet, các ứng dụng, các servlet hoặc vào các component phức tạp hơn bằng các công cụ phát triển phần mềm trực quan.
Các JavaBean component được gọi là beans.
Beans có thể được thay đổi, tùy biến theo ý muốn. Ta có thể chọn beans từ toolbox, kéo thả vào ứng dụng, hiệu chỉnh hành vi và diện mạo của bean, định nghĩa sự tương tác của bean với các bean khác, tích hợp beans vào các ứng dụng, vào applet hoặc vào các beans mới.
35 trang |
Chia sẻ: candy98 | Lượt xem: 511 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Lập trình hướng đối tượng - Chương 12: Java Beans, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 12JAVA BEANS PHẦN 1TỔNG QUAN JAVABEANS3KHÁI NIỆM JAVA BEANSKiến trúc JavaBean TM dựa trên mô hình component. Mô hình này cho phép các nhà phát triển phần mềm tạo ra các đơn vị phần mềm có tên gọi là component.Các component đuợc lắp ghép vào các applet, các ứng dụng, các servlet hoặc vào các component phức tạp hơn bằng các công cụ phát triển phần mềm trực quan.Các JavaBean component được gọi là beans.Beans có thể được thay đổi, tùy biến theo ý muốn. Ta có thể chọn beans từ toolbox, kéo thả vào ứng dụng, hiệu chỉnh hành vi và diện mạo của bean, định nghĩa sự tương tác của bean với các bean khác, tích hợp beans vào các ứng dụng, vào applet hoặc vào các beans mới.4GUI (graphical user interface) Non-visual beans (ví dụ như một spelling checker) Animation applet. Spreadsheet application.Các beans khác nhau về chức năng và mục đích sử dụng. Quá trình lập trình trong thực tiễn, chúng ta sẽ thấy một số loại beans sau:CÁC LOẠI JAVA BEANS5MỘT SỐ KHÁI NIỆM TRONG JAVABEANSIntrospection: (phân tích bên trong) dùng để khám phá các đặc điểm của beanProperties: là các đặc điểm về diện mạo và hành vi của bean, chúng được thay đổi lúc thiết kế. Các thuộc tính của bean được các introspector phân tích rồi hiển thị ra giúp cho người thiết kế chương trình có thể thao tác được trên bean.Customization: cấu hình tùy biến lúc thiết kế được thực hiện nhờ thấy được các thuộc tính của bean. Các công cụ để tùy biến bean như: property editors, sophisticated bean customizers.Event: được các bean dùng để giao tiếp với nhau. Listener bean là bean nhận events. Source bean là bean phát ra event.Persistence: cho phép các bean lưu trữ và phục hồi các trạng thái của chúng.Methods: không khác gì so với method trong Java.PHẦN 2TẠO VÀ SỬ DỤNG JAVABEAN ĐƠN GIẢN7CÁC PHẦN MỀM CẦN CÀI ĐẶT1) Java Standard Development Kit (JDK™) version 6.0- Download tại: Hướng dẫn cài đặt tại: javaprogenv/index.html#0.12) NetBeans IDE 6.5- Download tại: Hướng dẫn cài đặt tại: javaprogenv/index.html#0.28TẠO MỘT NETBEANS PROJECT Chạy phần mềm NetBeans 6.5 lên. Chọn File từ top-level menu rồi chọn New Project. Hộp thoại New Project xuất hiện. Chọn Java trong phần Categories và chọn Java Application trong phần Projects. Nhấp Next. Trong vùng Name and Location, ở phần Project Name, nhập chuỗi BeansExample để đặt tên cho project. Ở phần Create Main Class, nhập vào chuỗi BeansExample. Nhấp Finish để hoàn tất việc tạo project này.9TẠO MỘT NETBEANS PROJECT (tt)10TẠO MỘT NETBEANS PROJECT (tt)11VIẾT FILE SimpleBeanJLabel.javaSimpleBeanJLabel là một ví dụ về visual JavaBean. Nhấp phải BeansExample rồi chọn New->Java Class. Quan sát thấy vùng Name and Location của hộp thoại New Java Class xuất hiện.12VIẾT FILE SimpleBeanJLabel.java (tt) Ở phần Class Name, nhập vào chuỗi SimpleBeanJLabel. Nhấp Finish.13Quan sát sẽ thấy có SimpleBeanJLabel.java vừa mới xuất hiện trong vùng soạn thảo của NB6.5, viết code cho file này như sau:VIẾT FILE SimpleBeanJLabel.java (tt)/* SimpleBeanJLabel.java*/import java.awt.Color;import java.beans.XMLDecoder;import javax.swing.JLabel;import java.io.Serializable;public class SimpleBeanJLabel extends JLabel implements Serializable { public SimpleBeanJLabel() { setText( "Hello world!" ); setOpaque( true ); setBackground( Color.RED ); setForeground( Color.YELLOW ); setVerticalAlignment( CENTER ); setHorizontalAlignment( CENTER ); }}14VIẾT FILE SimpleBeanJLabel2.javaVới các bước làm tương tự như SimpleBeanJLabel, ta tạo tiếp SimpleBeanJLabel2.java. SimpleBeanJLabel2 có thêm một thuộc tính (property) của chính nó là labelType.15VIẾT FILE SimpleBeanJLabel2.java (tt)16Nội dung của SimpleBeanJLabel2.java như sau:VIẾT FILE SimpleBeanJLabel2.java (tt)/* SimpleBeanJLabel2.java*/public class SimpleBeanJLabel2 extends SimpleBeanJLabel { private String labelType; public String getLabelType() { return labelType; } public void setLabelType(String labelType) { this.labelType = labelType; }} 17TẠO TẬP TIN JAR Thực hiện Build project vừa mới tạo trong NB6.5 sẽ tạo ra jar file, bằng cách như sau: nhấp phải node BeansExample trong vùng Project rồi chọn Build (hoặc Run), kết quả sẽ tạo ra tập tin jar chứa SimpleBeanJLabel bean.18Trong thư mục C:\myjavafxprojects\BeansExample\dist ta thấy có tập tin BeansExample.jar. Xem nội dung của tập tin jar này trong NB6.5 như sau:TẠO TẬP TIN JAR (tt) 19ĐƯA BEAN VÀO BUIDER TOOLTạo một NetBeans Project mới có tên là BeansUserExample:Chọn File từ top-level menu rồi chọn New Project. Quan sát thấy hộp thoại New Project xuất hiện. Chọn Java trong vùng Categories rồi chọn Java Application trong vùng Projects. Nhấp Next. Trong vùng Name and Location, ở vùng Project Name, ta nhập chuỗi BeansUserExample. Ở phần Create Main Class, nhập chuỗi BeansUserExample. Nhấp Finish. Quan sát trong NB6.5 ta thấy project vừa mới tạo là BeansUserExample đã xuất hiện trong vùng Projects và thấy xuất hiện BeansUserExample.java trong cửa sổ soạn thảo của NB6.520ĐƯA BEAN VÀO BUIDER TOOL(tt)Nhấp phải BeansUserExample rồi chọn New/JFrame Form. 21ĐƯA BEAN VÀO BUIDER TOOL(tt)Quan sát vùng Name and Location của hộp thoại New JFrame Form vừa mới xuất hiện.Ở vùng Class Name, nhập chuỗi MyForm.Nhấp Finish.22ĐƯA BEAN VÀO BUIDER TOOL(tt)Quan sát thấy phần Design view của MyForm.java được trình bày ở giữa của NB6.5 và phần Palette được trình bày ở bên phải của NB6.523ĐƯA BEAN VÀO BUIDER TOOL(tt)Tiếp theo là công đoạn đưa SimpleBeanJLabel vào Palete: Nhấp phải vào một điểm trống trên Palete, chọn tiếp Palete Manager từ pop-up menu vừa mới xuất hiện24ĐƯA BEAN VÀO BUIDER TOOL(tt)Trong hộp thoại Palette Manager vừa mới xuất hiện. Chọn Add From JAR. Ta đang gắn một file jar có chứa các beans vào palete. Ta cũng có thể thực hiện cách khác, đó là chọn Add from Project, cách này sẽ cho ta thấy các bean từ một Project.25ĐƯA BEAN VÀO BUIDER TOOL(tt)Quan sát hộp thoại Install Components to Palette vừa mới xuất hiện.Mở rộng thư mục dist của BeansExample project, trong thư mục này có chứa BeansExample.jar mà ta tạo ở bước trước đó. Chọn BeansExample.jar rồi nhấp Next.26ĐƯA BEAN VÀO BUIDER TOOL(tt)Quan sát ta thấy các bean chứa trong tập tin BeansExample.jar được liệt kê ở đây.Chọn SimpleBeanJLabel và SimpleBeanJLabel2 bean rồi nhấp Next.27ĐƯA BEAN VÀO BUIDER TOOL(tt)Chọn Beans (hay bất cứ category nào mà ta muốn đưa bean vào).Nhấp Finish.28ĐƯA BEAN VÀO BUIDER TOOL(tt)Ta thấy xuất hiện hộp thoại Palette Manager như sau.Mở rộng mục Beans ta thấy SimpleBeanJLabel và SimpleBeanJLabel2 beans đã xuất hiện ở đây.Nhấp Close.29THAY ĐỔI THUỘC TÍNH CỦA BEANĐưa SimpleBeanJLabel vào design window.Quan sát thấy SimpleBeansJLabel bean ở trong Beans category của Palette.Kéo thả SimpleBeanJLabel vào design window.Quan sát thấy nhãn Hello world! đang có màu nền là màu đỏ (background)SimpleBeanJLabel30THAY ĐỔI THUỘC TÍNH CỦA BEAN(tt)Thao tác trên các thuộc tính của SimpleBeansJLabel bean: Nhấp vào button 3 dấu chấm (...) của thuộc background property để chọn màu mà ta muốn đổi.31Hộp thoại để chọn màu nền (background) xuất hiện.Chọn bất cứ màu nào mà ta muốn.Nhấp OK.THAY ĐỔI THUỘC TÍNH CỦA BEAN(tt)32Thay đổi text property của bean thành chuỗi Sang Shin.Quan sát design window ta thấy màu nền và chuỗi chữ của nhãn đã thay đổi.THAY ĐỔI THUỘC TÍNH CỦA BEAN(tt)33Properties of the SimpleBeansJLabel bean are changedTHAY ĐỔI THUỘC TÍNH CỦA BEAN(tt)34THAY ĐỔI THUỘC TÍNH CỦA BEAN(tt)SimpleBeanJLabel2Ta tiếp tục thay đổi thuộc tính cho SimpleBeanJLabel2Kéo thả SimpleBeanJLabel2 bean vào design window.Quan sát nhãn Hello world! có màu nền là màu đỏ.Thay đổi labelType property của bean từ simple đến null hoặc bất cứ màu gì mà ta muốnHẾTCHƯƠNG 12