Bài giảng lập trình java cơ bản chương 6: lập trình gui GV võ hoàng phương dung (2)

40 697 0
Bài giảng lập trình java cơ bản chương 6: lập trình gui   GV  võ hoàng phương dung (2)

Đ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 ...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... 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... colors.addItem("Green"); 17/25 Quản lý cách trình bày  Các kiểu trình bày (Layout manager) • • • • •  Null layout Flow layout Border layout Grid layout GridBag Layout Layout manager thiết lập phương thức ‘setLayout()’

Ngày đăng: 02/07/2014, 07:14

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan