Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT
Java Foundation Classes (AFC)
Abstract Windowing Toolkit (AWT)
Swing
Các thùng chứa -Containers
Các hộp thoại - Dialogs
Quản lý Layout
Các thành phần GUI – Components
Xử lý sự kiện
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT
LẬP TRÌNH JAVA Bài 8: Giới thiệu về Swing Điểm danh Khái niệm Applets Sự khác nhau giữa Applets và Applications Vòng đời của applet Một số phương thức của class Graphics Tạo một applet Sử dụng tham số trong Applets Xử lý sự kiện Một số interface và class xử lý sự kiện Một số ví dụ Nhắc lại bài trước Java Foundation Classes (AFC) Abstract Windowing Toolkit (AWT) Swing Các thùng chứa -Containers Các hộp thoại - Dialogs Quản lý Layout Các thành phần GUI – Components Xử lý sự kiện Nội dung bài học Java Foundation Classes (JFC) FC (Foundation Classes) là một nhóm các thư viện được thiết kế để hỗ trợ lập trình viên tạo ra các ứng dụng GUI trên Java. FC đơn giản hóa quá trình thiết kế và làm giảm thời gian thực hiện viết mã. Swing chỉ là một trong năm thư viện tạo nên JFC. JFC cũng chứa Abstract Window Toolkit (AWT),Accessibility API, 2D API và tăng cường hỗ trợ khả năng kéo thả (Drag and Drog). Java Foundation Classes JFC AWT Java 2D Accessibility Swing Drag & Drop Abstract Windowing Toolkit (AWT) Tuy nhiên AWT có hạn chế: • Các thành phần GUI có thể có hình dạng/hành động khác nhau trên các hệ điều hành khác nhau (heavyweight) • Look and Feel của mỗi thành phần không thể (dễ dàng) thay đổi. AWT chứa nhiều class và method cho phép thiết kế, quản lý cửa sổ và font chữ trên giao diện đồ họa. Mục đích chính của awt là hỗ trợ cho các ứng dụng applet nhưng cũng được dùng để thiết kế các chương trình có giao diện đồ họa độc lập. Swing Swing giải quyết các hạn chế liên quan đến các thành phần của AWT thông qua việc sử dụng 2 tính năng: các thành phần lightweight và pluggable look and feel. Các thành phần trong swing là lightweight: Các thành phần này được viết hoàn toàn bằng Java, do đó nó không phụ thuộc vào một hệ điều hành cụ thể nào và nó cũng rất hiệu quả và linh hoạt. Các class Swing có khả năng viết những cảm quan (Look&Feels) cho mỗi thành phần, và có thể thay đổi cảm quan vào thời điểm chạy. Swing có rất nhiều những thành phần mới như table, tree, slider, spinner, progress bar, internal frame và text. JSlider JList JCheckBox JToggleButton JButton AbstractButton JComboBox JLabel JScrollBar JTextComponent JTextField JTextArea JEditPane JRadioButton Object ButtonGroup Component ProgressMonitor InputStream Container JComponent FilterInputStream ProgressMonitorInputStream JPassword JMenuItem Các thành phần của Swing Containers • Top-level container là một container cấp cao nhất, ở trên cùng của một hệ thống phân cấp. • Swing cung cấp 4 container top-level container là: JFrame, JDialog, JWindow và JApplet. • Để hiển thị trên màn hình, mỗi một thành phần GUI phải là một phần của hệ thống phân cấp. Mỗi hệ thống phân cấp sẽ có một top-level là gốc. Trong đó JFrame hay được sử dụng nhất. Một container là một thành phần đặc biệt có thể chứa các thành phần khác. Top-Level Containers Menu Bar Các thành phần có thể nhìn thấy (Visible) Top-level container Content pane JFrame JFrame Là top-level container. JFrame được dùng để tạo ra 1 cửa sổ. JFrame() JFrame(String title) Các thành phần khác sẽ được add vào cửa sổ JFrame đó: frame.getContentPane().add(b); //cũ frame.add(b) //mới JFrame Các hằng số khi đóng 1 JFrame: DISPOSE_ON_CLOSE ( value =1) DO_NOTHING_ON_CLOSE (value = 2) EXIT_ON_CLOSE (value = 3) HIDE_ON_CLOSE (value = 4) // mặc định Đóng JFrame public int getDefaultCloseOperation() public void setDefaultCloseOperation(int operation) JFrame Khi thêm các thành phần vào JFrame thì: Các thành phần đó được add vào content pane của Frame. Content pane sử dụng BorderLayout làm mặc định. Sử dụng setSize() hoặc pack() để đặt kích thước cửa sổ. Sử dụng show() hoặc setVisible() để hiển thị Frame. JFrame JFrame frame = new JFrame(“My Frame”);//tiêu đề import javax.swing.*; frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,200);// đặt kích thước cửa sổ frame.show();// hoặc setVisible(true) public static void main(String args[] { } class FrameTest { } JPanel là container được dùng để nhóm các thành phần với nhau. JPanel sử dụng FlowLayout là mặc định. JPanel có các constructor: JPanel() JPanel(LayoutManager mg) JPanel import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; public class Main { public static void main(String args []) { JFrame frame = new JFrame("JFrame is me"); JPanel jpan = new JPanel(); frame.add( jpan ); JButton btnHello = new JButton("Hello"); jpan.add(btnHello); frame.setSize(300,100); frame.setVisible(true); } } JPanel JApplet là một container. javax.swing.JApplet khác với java.applet.Applet. Khi thêm các thành phần vào JApplet bắt buộc phải thêm vào content pane của JApplet. Ví dụ: getContentPane().add(component); JApplet import java.awt.*; import javax.swing.*; public class JAppletExample extends JApplet { @Override public void init() { Container content = getContentPane(); content.setBackground(Color.white); content.setLayout(new FlowLayout()); content.add(new JButton("Button 1")); content.add(new JButton("Button 2")); content.add(new JButton("Button 3")); } } JApplet Dialog: JOptionPane JOptionPane cho phép bạn dễ dàng tạo ra các hộp thoại để nhập dữ liệu và hiển thị kết quả. Có rất nhiều lựa chọn khi sử dụng JOptionPane. Sau đây là cú pháp dạng đơn giản: Giá trị Phương thức userInput = JOptionPane.showInputDialog(component, text); JOptionPane.showMessageDialog(component, text); Trong đó: - component là cửa sổ mà hộp thoại này sẽ đặt lên trên, nếu không có thì đặt là null - text là xâu ký tự Dialog: JOptionPane import javax.swing.JOptionPane; p
File đính kèm:
- bai_giang_lap_trinh_java_bai_8_gioi_thieu_ve_swing_truong_da.pdf