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;
pFile đính kèm:
bai_giang_lap_trinh_java_bai_8_gioi_thieu_ve_swing_truong_da.pdf

