1. Trang chủ
  2. » Cao đẳng - Đại học

SLIDE môn JAVA CHƯƠN 6 graphical user interface

39 295 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 294 KB

Nội dung

LẬP TRÌNH JAVA Chương Graphical User Interface (GUI) GV: Đoàn Thanh Sơn 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 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 4/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) 5/25 Vật chứa (Container) 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  JFrame JPanel vật chứa thường sử dụng • JFrame cửa sổ độc lập • JPanel vùng nằm cửa sổ khác 7/25 Vật chứa (Container)  JFrame: constructor để tạo frame • JFrame(): Tạo frame không hiển thị (invisible) • JFrame(String title): Tạo frame không hiển thị, có tiêu đề 8/25 Vật chứa (Container)  Ví dụ import javax.swing.*; public class MyFrame extends JFrame { public MyFrame(String title){ super(title); } public static void main(String[] args){ MyFrame myframe=new MyFrame("Hello"); myframe.setSize(300, 200); myframe.setVisible(true); myframe.setDefaultCloseOperation(Jframe.EXIT_O N_CLOSE); } } 9/25 Vật chứa (Container)  JPanel sử dụng để nhóm số thành phần lại với • Hàm khởi tạo: JPanel()  JDialog: đối tượng cửa sổ cửa sổ chương trình Có dạng • Modal • Non-modal 10/25 Quản lý cách trình bày  public FlowLayout(int align, int hGap, int vGap) Xây dựng FlowLayout có cách hàng (alignment), khoảng trống ngang (horizontal gap), khoảng trống dọc (vertical gap) xác định Các khoảng trống thành phần tính pixel  public FlowLayout(int alignment) Xây dựng FlowLayout có alignment xác định, khoảng trống ngang dọc có mặc định pixel  public FlowLayout() Xây dựng FlowLayout có cách hàng mặc định khoảng trống ngang dọc mặc định 25/25 pixel Quản lý cách trình bày  BorderLayout Manager • ‘BorderLayout’ layout manager mặc định cho ‘Window’, ‘Frame’ ‘Dialog’ • Layout xắp xếp tối đa thành phần container • Hàm thiết lập  setLayout(new BorderLayout()) • Thêm thành phần vào layout  add(b1,BorderLayout.NORTH); 26/25 Quản lý cách trình bày BorderLayout manager chia container thành khu vực: East, South, West, North, Center 27/25 Quản lý cách trình bày Các thành phần đưa vào BorderLayout phương thức add: add(Component, constraint) constraint: • BorderLayout.EAST, • BorderLayout.SOUTH, • BorderLayout.WEST, • BorderLayout.NORTH, • BorderLayout.CENTER 28/25 Quản lý cách trình bày  Các panel đóng vai trò container nhỏ để nhóm thành phần GUI  Bạn nên đặt thành phần GUI panel đặt panel frame, đặt panel panel JPanel p = new JPanel(); p.add(new JButton("OK"); frame.getContentPanel().add(p); 29/25 Quản lý cách trình bày  GridLayout Manager • ‘GridLayout’ trợ giúp việc chia container vào ô lưới • Hàm tạo  setLayout(new GridLayout(số hàng, số cột)) 30/25 Quản lý cách trình bày GridLayout manager xếp thành phần lưới (ma trận) với số hàng số cột xác định constructor Các thành phần đặt lưới từ trái sang phải, từ xuống 31/25 Quản lý cách trình bày  public GridLayout(int rows,int columns) Xây dựng GridLayout có số hàng số cột xác định  public GridLayout(int rows, int columns, int hGap, int vGap) Xây dựng GridLayout có số hàng số cột xác định, khoảng trống ngang dọc thành phần xác định 32/25 Quản lý cách trình bày Chương trình tạo giao diện cho lò vi sóng, sử dụng panel để tổ chức thành phần frame A textfield p2 A button 12 buttons p1 33/25 Xử lý kiện 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 javax.swing.event  Event (sự kiện): tương tác người dùng vào đối tượng GUI • Ví dụ: di chuyển chuột, nhấn phím, nhả phím Button “OK” 35/25 Các bước xử lý kiện cách  Đăng ký listener đối tượng phát sinh kiện VD: button1.addActionListener(new myListener())  Cài đặt giao diện listener thích hợp thi hành phương thức listener class MyListener implements ActionListener{ public void actionPerformed(ActionEvent e) { //code } } 36/25 Xử lý kiện cách public class ButtonEvent extends JFrame implements ActionListener{ private Button btn=new Button("Click Here"); public void actionPerformed(ActionEvent e) { System.out.print("DDD"); } public ButtonEvent(){ super(); this.add(btn); btn.addActionListener(this); } 37/25 Xử lý kiện cách public class ButtonEvent2 extends JFrame { private Button btn=new Button("Click Here"); public ButtonEvent2(){ super(); this.add(btn); btn.addActionListener(new myListener()); } public static void main(String[] arg){ ButtonEvent2 myclass=new ButtonEvent2(); myclass.setSize(100,200); myclass.pack(); myclass.setVisible(true); } 38/25 Xử lý kiện cách class myListener extends ActionListener { public void actionPerformed(ActionEvent e) { System.out.print("DDD"); } } } 39/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... thành phần lại với • Hàm khởi tạo: JPanel()  JDialog: đối tượng cửa sổ cửa sổ chương trình Có dạng • Modal • Non-modal 10/25 Thành phần (Components) Thành phần (Components)  Các lớp thành phần... (Container) 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  JFrame JPanel vật chứa thường sử dụng • JFrame cửa sổ độc lập

Ngày đăng: 23/06/2017, 20:17

TỪ KHÓA LIÊN QUAN