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

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 1

Trang 1

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 2

Trang 2

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 3

Trang 3

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 4

Trang 4

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 5

Trang 5

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 6

Trang 6

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 7

Trang 7

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 8

Trang 8

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 9

Trang 9

Bài giảng Lập trình Java - Bài 8: Giới thiệu về Swing - Trường Đại học FPT trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 51 trang Danh Thịnh 08/01/2024 1180
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

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:

  • pdfbai_giang_lap_trinh_java_bai_8_gioi_thieu_ve_swing_truong_da.pdf