Bài giảng Lập trình Java - Chương VII: Java Applets
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Java - Chương VII: Java Applets", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_java_applets.ppt
Nội dung text: Bài giảng Lập trình Java - Chương VII: Java Applets
- Java Applets
- Applets là gì ? ❖Là chương trình chạy dưới sự hỗ trợ của trình duyệt (web browser) hoặc appletviewer.exe ❖Applet luôn phải thừa kế từ class java.applet.Applet vì vậy applet là một container.
- Cấu trúc của 1 Applet ❖ Cấu trúc của một applet có thể chứa các phương thức sự kiện (được gọi tự động bởi trình duyệt) sau: ▪ init( ) : được gọi sau khi applet được khởi dựng ▪ start( ) : được gọi khi applet bắt đầu ▪ stop( ) : được gọi khi applet dừng ▪ destroy( ) : được gọi trước khi applet kết thúc ▪ paint(Graphics g) : được gọi khi yêu cầu vẽ lại applet hoặc khi bạn gọi phương thức repaint()
- Chu kỳ hoạt động của Applet
- ❖NgoàiCácra phươngthức thứcapplet củacung Appletcấp một số phương thức sau: ▪ repaint( ) : gọi để yêu cầu vẽ lại applet ▪ showStatus(String s): hiển thị chuỗi s ở thanh trạng thái ▪ URL getCodeBase(): url của thư mục applet ▪ URL getDocumentBase(): url của thư mục lưu trang web ▪ Image getImage(URL url): down load ảnh tại url
- ▪ Image getImage(URL url, String name): down load ảnh tại url ▪ String getParameter(String name): Lấy tham số từ trang web ▪ void play(URL url) : Play âm thanh tại url (*.au) ▪ void play(URL url, String name) : Play âm thanh tại url (*.au)
- Nhúng Applet vào trang web ❖Thẻ (tag) dùng để nhúng applet vào trang web: . Code : tên file applet Codebase : url tuyệt đối của thư mục chứa applet Archive : file *.jar chứa applet Width/Height : chiều rộng/cao của applet ❖Applet được trình duyệt download về và chạy một cách tự động khi trang web chứa applet.
- Thực thi applet ❖Biên dịch ra file.class ❖Gõ Appletviewer ten_applet.html
- Sự khác nhau : Application & Applet ❖Để thực thi Application ta dùng trình thông dịch Java còn Applet thì chạy trên trình duyệt hay sử dụng Appletviewer ❖Quá trình thực thi Application bắt đầu bằng “main()”. Applet thì không làm như vậy. ❖Application sử dụng System.out.print() còn Applet thì sử dụng “drawString()”
- Truyền Thông số cho Applet ❖Trong file *.java ta sử dụng: String a = this.getParameter(“Bien_1”); String b = this.getParameter(“Bien_2”); ❖Trong file *.html ta sử dụng các tsố đó.
- Graphics
- Graphics ❖Là class giúp quản lý môi trường đồ hoạ của các component. ❖Graphics có thể dùng đề: ▪ Vẽ hình ảnh : ▪ Vẽ đường nét và tô màu hình ▪ Vẽ chuỗi ▪ Quản lý màu và font chữ
- Các phương thức nền ❖Để lấy đối tượng đồ hoạ của một component ta dùng phương thức ▪ getGraphics() ❖Để làm tươi (cập nhật hoặc vẽ lại) môi trường đồ hoạ của một component ta gọi repaint(). Khi đó các phương thức được thực hiện ▪ paint(Graphics g), ▪ update(Graphics g)
- Vẽ ảnh ❖Vẽ ảnh đúng kích thước với ảnh gốc ▪drawImage(Image img, int x, int y, ImageObserver io) ❖Vẽ ảnh với kích thức tuỳ chọn ▪drawImage(Image img, int x, int y, int width, int height, ImageObserver io)
- Vẽ đường nét - 1 ❖ drawOval(int x, int y, int width, int height); ❖ fillOval(int x, int y, int width, int height); ❖ drawArc(int x, int y, int w, int h, int startAngle, int length); ❖ fillArc(int x, int y, int w, int h, int startAngle, int endAngle);
- Vẽ đường nét - 2 ❖ drawLine(int x1, int y1, int x2, int y2); ❖ drawPolyline(int x[ ], int y[ ], int points); ❖ drawRect(int x, int y, int width, int height); ❖ fillRect(int x, int y, int width, int height); ❖ drawPolygon(int x[ ], int y[ ], int points);
- Vẽ chuỗi ❖Vẽ chuỗi str tại tọa độ (x, y) ▪drawString(String str, int x, int y); ▪drawChars(char[] chars, int offset, int length, int x, int y); ▪drawBytes(byte[] bytes, int offset, int length, int x, int y);
- Color & Font
- Điều khiển Font & Màu ❖Đổi Font và màu của môi trường đồ hoạ ▪ g.setFont(Font) ▪ g.setColor(Color); ❖Nhận lấy Font và Color của môi trường đồ họa ▪ g.getFont(); ▪ g.getColor();
- Điều khiển màu - Color ❖Tạo Color ▪ Color(int red, int green, int blue); ❖Trong đó: CÁC HẰNG SỐ MÀU Element Range Tên màu Hằng số White Color.white Red 0-255 Light Gray Color.lightGray Green 0-255 Gray Color.gray Blue 0-255 Dark Gray Color.darkGray Black Color.black Pink Color.pink Orange Color.orange Yellow Color.yellow Magenta Color.magenta
- Điều khiển Font chữ ❖Khởi dựng font ▪ Font(String name, int style, int size) Trong dó @name: tên font, có thể là “Serif”, “SansSerif”, “Monospaced”, hoặc lấy từ danh sách font hệ thống @style: Font.BOLD, Font.PLAIN, Font.ITALIC va Font.BOLD&Font.ITALIC @size: kích thước font ❖Ví dụ Font f = new Font(“Serif”, Font.BOLD, 20); g.setFont(f);
- Font trên hệ thống ❖Lấy môi trường đồ hoạ: ▪ GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphics Environment(); ❖ Lấy danh sách font của hệ thống ▪ Font[] fonts = ge.getAllFont(); ❖ Lấy danh sách tên font của hệ thống ▪ String[] fontNames = ge.getAvailableFontFamilyNames() ;
- Kích thước chuỗi ❖Class FontMetrics giúp chúng ta truy xuất kích thước (chiều cao, chiều dài) Font và các thông số khác. ❖Lấy FontMetrics của môi trường đồ hoạ ▪ FontMetrics fm = g.getFontMetrics(); ▪ FontMetrics fm =g.getFontMetrics(Font f); ❖Thông tin về kích thước font ▪ int sw = fm.stringWidth(String str); ▪ int sh= fm.gettHeight();
- JTable ❖Phương thức khởi dựng JTable(Object[][] rowData, Object[] columnNames) JTable(Vector rowData, Vector columnNames) JTable(TableModel dm)
- ❖Thiết lập chế độ chọn (3 mode như JList) ▪ setSelectionMode(int selectionMode) ❖Đọc/Ghi giá trị trên ô ▪ getValueAt(int row, int col)/setValueAt(Object aValue, int row, int col) ❖Kiểm tra hàng thứ @row có được chọn không ▪ boolean isRowSelected(int row) ❖Lấy vị trí các hàng được chọn ▪ int[] getSelectedRows() ❖Bỏ chọn tất cả các hàng ▪ clearSelection()
- Sự Kiện ❖ jtb_app. addListSelectionListener (this); ❖class vd implements ListSelectionListener { public void valueChanged(ListSelectionEvent e) { } }