SLIDE GIẢNG DẠY - NGÔN NGỮ LẬP TRÌNH JAVA - CHƯƠNG 6 - LẬP TRÌNH GUI

40 414 0
SLIDE GIẢNG DẠY - NGÔN NGỮ LẬP TRÌNH JAVA - CHƯƠNG 6 - LẬP TRÌNH GUI

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LẬP TRÌNH JAVA Chương LẬP TRÌNH GUI GV: Võ Hoàng Phương Dung Nội dung  Giới thiệu GUI (Graphical user interface)  Vật chứa (Container)  Thành phần (Component)  Quản lý cách trình bày (Layout manager)  Xử lý kiện 2/25 Giới thiệu GUI  GUI cung cấp chức nhập liệu theo cách thân thiện với người dùng  Các thư viện: AWT, SWING, SWT…  AWT viết tắt Abstract Windowing Toolkit  AWT lớp Java cho phép tạo GUI chấp nhận nhập liệu người dùng thơng qua bàn phím chuột 3/25 Giới thiệu GUI  AWT cung cấp thành phần khác để tạo GUI: • • • • • • Vật chứa (Container ) Thành phần (Component) Trình quản lý cách trình bày (Layout manager) Đồ họa (Graphic) tính vẽ (draw) Phơng chữ (Font) Sự kiện (Event) 4/25 Giới thiệu GUI  Gói AWT chứa lớp, giao diện gói khác  Sau mô tả phần nhỏ hệ thống phân cấp lớp AWT 5/25 Vật chứa (Container)  Container vùng mà bạn đặt thành phần giao diện bạn vào  Gói java.awt chứa lớp gọi Container  Frame Panel vật chứa thường sử dụng • Frame cửa sổ độc lập • Panel vùng nằm cửa sổ khác 6/25 Vật chứa (Container)  Frame: constructor để tạo frame • Frame(): Tạo frame khơng hiển thị (invisible) • Frame(String title): Tạo frame khơng hiển thị, có tiêu đề 7/25 Vật chứa (Container)  Ví dụ import java.awt.*; public class MyFrame extends Frame { public MyFrame(String title){ super(title); } public static void main(String[] args){ MyFrame myframe=new MyFrame("Hello"); myframe.setSize(300, 200); myframe.setVisible(true); } } 8/25 Vật chứa (Container)  Panel sử dụng để nhóm số thành phần lại với • Hàm khởi tạo: Panel()  Dialog: đối tượng cửa sổ cửa sổ chương trình Có dạng • Modal • Non-modal 9/25 Vật chứa (Container)  Ví dụ public class MyPanel extends Panel { public static void main(String[] args){ MyPanel p=new MyPanel(); Frame f=new Frame("Test Panel"); f.add(p); f.setSize(200,500); f.setVisible(true); } } 10/25 Xử lý kiện  Ví dụ: Xử lý kiện nút nhấn 26/25 Xử lý kiện  Cài đặt giao diện listener thích hợp VD: class MyListener implements ActionListener  Thi hành phương thức listener class MyListener implements ActionListener{ public void actionPerformed(ActionEvent e) { //code } } 27/25 Xử lý kiện  Xác định tất thành phần tạo kiện Đăng ký nghe kiện (event listener) đến thành phần obj.addXX(h) obj: thành phần tạo kiện h: nghe kiện loại XX VD: button1.addActionListener(new myListener()) 28/25 Xử lý kiện  Code class MyListener implements ActionListener{ public void actionPerformed(ActionEvent e) { System.out.print(“Clicked !!!”); } } 29/25 Xử lý kiện public class ButtonEvent extends Frame { private Button btn=new Button("Click Here"); public ButtonEvent(){ super(); this.add(btn); btn.addActionListener(new myListener()); } public static void main(String[] arg){ ButtonEvent myclass=new ButtonEvent(); myclass.setSize(100,200); myclass.pack(); myclass.setVisible(true); } } 30/25 Xử lý kiện  Code public class ButtonEvent2 extends Frame implements ActionListener{ private Button btn=new Button("Click Here"); public void actionPerformed(ActionEvent e) { System.out.print("DDD"); } public ButtonEvent2(){ super(); this.add(btn); btn.addActionListener(this); } 31/25 Xử lý kiện public static void main(String[] arg){ ButtonEvent myclass=new ButtonEvent(); myclass.setSize(100,200); myclass.pack(); myclass.setVisible(true); } } 32/25 Xử lý kiện  Bảng sau kiện khác mô tả chúng 33/25 Xử lý kiện  Các interface listener ComponentListener 34/25 Xử lý kiện  Danh sách listener cho thành phần 35/25 Xử lý kiện  Lấy thơng tin event: • Object getSource(): trả lại đối tượng gây event • Ví dụ public void actionPerformed(ActionEvent e) { if(e.getSource()==btn) System.out.print("DDD"); } 36/25 Xử lý kiện  Các lớp thích nghi (Event Adapters) • Nhiều listener interface có nhiều phương thức • Ví dụ: MouseListener có phương thức  mousePressed  mouseReleased  mouseEntered  mouseExited  mouseClicked • Sử dụng chi phương thức interface, ta phải thực thi tất phương thức => không cần thiết 37/25 Xử lý kiện  Các lớp thích nghi (Event Adapters) • Sử dụng Adapter, ta cần định nghĩa phương thức cần sử dụng • Ví dụ public class MyClass extends MouseAdapter { someObject.addMouseListener(this); public void mouseClicked(MouseEvent e) { //code } } 38/25 Xử lý kiện  Các lớp lồng (Inner Classes) public class MyClass extends Frame{ public MyClass(){ this.addWindowListener(new MyAdapter()); } class MyAdapter extends WindowAdapter{ public void windowClosing (WindowEvent event) { System.exit(0); } } 39/25 Xử lý kiện  Các lớp lồng vô danh (Anonymous Inner Classes) public class MyClass extends Frame{ public MyClass(){ this.addWindowListener(new WindowAdapter(){ public void windowClosing (WindowEvent event){ System.exit(0); }}); } } 40/25 ... cột 23/25 Xử lý kiện  GUI mô hình hướng kiện (event-driven) • Phát sinh kiện người dùng tương tác GUI • Thông tin kiện chứa đối tượng thừa kế từ lớp java. awt.event or javax.swing.event  Event... Windowing Toolkit  AWT lớp Java cho phép tạo GUI chấp nhận nhập liệu người dùng thông qua bàn phím chuột 3/25 Giới thiệu GUI  AWT cung cấp thành phần khác để tạo GUI: • • • • • • Vật chứa (Container )... dung  Giới thiệu GUI (Graphical user interface)  Vật chứa (Container)  Thành phần (Component)  Quản lý cách trình bày (Layout manager)  Xử lý kiện 2/25 Giới thiệu GUI  GUI cung cấp chức

Ngày đăng: 29/06/2017, 22:56

Từ khóa liên quan

Mục lục

  • LẬP TRÌNH JAVA

  • Nội dung

  • Giới thiệu về GUI

  • Slide 4

  • Slide 5

  • Vật chứa (Container)

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Thành phần (Components)

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Quản lý cách trình bày

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan