1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình Java – Chương 4: Lập trình giao diện với Java và Swing

99 162 5

Đ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 99
Dung lượng 2,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lập trình Java Chương 4: Lập trình giao diện với Java và Swing cung cấp cho người học các kiến thức: Giới thiệu về Swing, các thành phần của Swing. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

Phát triển UD CSDL 2

Lập trình giao diện với JAVA & SWING

Trang 2

Nội dung

– Swing Windows

– Swing Controls

– Swing Containers

– Swing Menu

Trang 3

Giới thiệu

• Là m t th vi n đ xây d ng các ng d ng giao di n đ ột thư viện để xây dựng các ứng dụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ ệu về Swing ể xây dựng các ứng dụng giao diện đồ ựng các ứng dụng giao diện đồ ứng dụng giao diện đồ ụng giao diện đồ ệu về Swing ồ

h a ngọa người dùng (GUI – Graphics User Interface) của ngôn ư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn i dùng (GUI – Graphics User Interface) c a ngôn ủa Swing:

d ng trong vi c xây d ng m t ng d ng GUI t c b n ụng giao diện đồ ệu về Swing ựng các ứng dụng giao diện đồ ột thư viện để xây dựng các ứng dụng giao diện đồ ứng dụng giao diện đồ ụng giao diện đồ ừ cơ bản ơ bản ản

đ n ph c t p.ến phức tạp ứng dụng giao diện đồ ạp

checkbox, listbox, tree, table, jframe,

Trang 4

• Các thành ph n trong Swing toolkit: ần của Swing:

– Swing Windows: Ch a các lo i c a s hi n th c a m t ứng dụng giao diện đồ ạp ử ổ hiển thị của một ể xây dựng các ứng dụng giao diện đồ ị của một ủa Swing: ột thư viện để xây dựng các ứng dụng giao diện đồ

ng d ng GUI

ứng dụng giao diện đồ ụng giao diện đồ

các control khác

– Swing Menu: Thi t k menu cho m t ng d ng swingến phức tạp ến phức tạp ột thư viện để xây dựng các ứng dụng giao diện đồ ứng dụng giao diện đồ ụng giao diện đồ

Trang 5

• Swing Windows:

• JFrame: M t c a s d ng top-level-window ột thư viện để xây dựng các ứng dụng giao diện đồ ử ổ hiển thị của một ạp.

• JDialog: M t c a s h p tho i s d ng đ nh p và xu t d li u ột thư viện để xây dựng các ứng dụng giao diện đồ ử ổ hiển thị của một ột thư viện để xây dựng các ứng dụng giao diện đồ ạp ử ụng giao diện đồ ể xây dựng các ứng dụng giao diện đồ ập hợp các components sử ất nhiều loại control: label, button, ữ JAVA ệu về Swing

• JInternalFrame : M t c a s trong m t ng d ng MDI ột thư viện để xây dựng các ứng dụng giao diện đồ ử ổ hiển thị của một ột thư viện để xây dựng các ứng dụng giao diện đồ ứng dụng giao diện đồ ụng giao diện đồ

Trang 6

JFrame

• JFrame đ ược sử dụng để làm giao diện chính trong ử dụng để làm giao diện chính trong ụng để làm giao diện chính trong c s d ng đ làm giao di n chính trong ể làm giao diện chính trong ện chính trong

ng d ng Swing

ứng dụng Swing ụng để làm giao diện chính trong

• H u h t các ng d ng Swing đần của Swing: ến phức tạp ứng dụng giao diện đồ ụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c xây d ng t ựng các ứng dụng giao diện đồ ừ cơ bản

Trang 7

JFrame

Trang 8

Khai báo lớp kế thừa JFrame

✔ Khai báo k th a JFrame ế thừa JFrame ừa JFrame

✔ Khai báo s d ng th vi n ử dụng thư viện ụng thư viện ư viện ện Swing

✔ Hàm kh i t o các đ i t ởi tạo các đối tượng ạo các đối tượng ối tượng ư viện ợng ng giao di n: t o và thi t l p các ện ạo các đối tượng ế thừa JFrame ập các thu c tính cho các control: v ộc tính cho các control: vị ị trí, màu s c, … ắc, …

✔ Hàm này t phát sinh mã ự phát sinh mã ngu n khi s d ng thi t k ồn khi sử dụng thiết kế ử dụng thư viện ụng thư viện ế thừa JFrame ế thừa JFrame giao di n kéo th WYSIWYG ện ả WYSIWYG.

Một lớp kế thừa từ JFrame có đủ tất cả các thành phần của JFrame (các thuộc tính / phương thức public / protected

Trang 9

} }

Trang 10

JFrame – Một số phương thức thông

dụng

• public void setDefaultCloseOperation (int operation);

• Ý nghĩa: Gán phư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng th c m c đ nh khi ngứng dụng giao diện đồ ặc định khi người dùng đóng ị của một ư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn i dùng đóng Frame

• Có 4 l a ch n (giá tr int operation)ựng các ứng dụng giao diện đồ ọa người dùng (GUI – Graphics User Interface) của ngôn ị của một

– WindowConstants DO_NOTHING_ON_CLOSE

– WindowConstants HIDE_ON_CLOSE

– WindowConstants DISPOSE_ON_CLOSE

– WindowConstants EXIT_ON_CLOSE

Trang 11

JFrame – Một số phương thức thông dụng

• public void setExtendedState (int state);

• Có 5 l a ch n (giá tr int state)ựng các ứng dụng giao diện đồ ọa người dùng (GUI – Graphics User Interface) của ngôn ị của một

Trang 12

JFrame – Một số phương thức thông dụng

• public void setResizable (boolean resizable);

– true: Cho phép thay đ i kích th ổ hiển thị của một ư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swing c

– false: không cho phép

• public void setTitle (String title);

– Gán t a đ cho JFrame ựng các ứng dụng giao diện đồ ề Swing

• public void setIconImage (Image image);

– Gán hình nh Icon cho JFrame ản

Trang 13

JFrame – Một số phương thức thông dụng

• public void setSize (Dimension d);

• public void setSize (int width, int height);

– Gán kích th ư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swing c cho JFrame

• public void setLocation (Point p);

• public void setLocation (int x, int y);

– Gán v trí cho JFrame ị của một

• public void setVisible (boolean visible);

– true : hi n Jframe ệu về Swing

– false : n Jframe ẩn Jframe

• Tư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng t cho các phựng các ứng dụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng th c ứng dụng giao diện đồ get/is

Trang 14

JFrame – Một số phương thức thông

dụng

• public void dispose ();

– H y ủa Swing:

• public Containter getCotentPane()

– L y vùng Content Pane c a Frame (Content pane: vùng ch a các ất nhiều loại control: label, button, ủa Swing: ứng dụng giao diện đồ

đ i t ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử ng trong thi t k giao di n c a Swing) M i đ i t ến phức tạp ến phức tạp ệu về Swing ủa Swing: ỗi đối tượng ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử ng

JFrame luôn có 1 ContentPane

– getContentPane().add : ph ư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng th c th ứng dụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn ng s d ng đ thêm ử ụng giao diện đồ ể xây dựng các ứng dụng giao diện đồ

m t đ i t ột thư viện để xây dựng các ứng dụng giao diện đồ ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử ng vào JFrame

– getContentPane().setBackground( Color c); Thi t l p màu n n cho ến phức tạp ập hợp các components sử ề Swing content pane (frame)

Trang 15

ImageIcon (this.getClass().getResource("images/download.png"));

Trang 16

JFrame f = new VD1_Frame ();

} }

Trang 17

components & IDE sẽ tự động phát sinh mã nguồn tương ứng

Trang 18

• JFrame hay JDialog thư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn ng s d ng JDialog nh p li u ử ụng giao diện đồ ập hợp các components sử ệu về Swing

ho c xu t li uặc định khi người dùng đóng ất nhiều loại control: label, button, ệu về Swing

Trang 19

JDialog - Khai báo lớp kế thừa JDialog

//D li u + Các ph ữ JAVA ệu về Swing ư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng th c get/set (n u có) ứng dụng giao diện đồ ến phức tạp.

✔ Khai báo s d ng th vi n ử dụng thư viện ụng thư viện ư viện ện Swing

✔ Khai báo k th a t l p ế thừa JFrame ừa JFrame ừa JFrame ớp JDialog

✔ Hàm kh i t o có thêm tham s ởi tạo các đối tượng ạo các đối tượng ối tượng

là 1 Frame ho c Dialog ch th ặc Dialog chỉ thị ỉ thị ị cho c a s cha ử dụng thư viện ổ cha

✔ Ph ư viện ơng thức initComponents ng th c initComponents ức initComponents

đ kh i t o các thành ph n ể khởi tạo các thành phần ởi tạo các đối tượng ạo các đối tượng ần giao di n c a dialog ện ủa dialog.

✔ Khai báo d li u và các ữ liệu và các ện

ph ư viện ơng thức initComponents ng th c get/set đ l y giá ức initComponents ể khởi tạo các thành phần ấy giá

tr / truy n giá tr t form cha ị ền giá trị từ form cha ị ừa JFrame

Trang 20

JDialog – Hiển thị

• JFrame hay JDialog thư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn ng s d ng JDialog nh p li u ử ụng giao diện đồ ập hợp các components sử ệu về Swing

ho c xu t li uặc định khi người dùng đóng ất nhiều loại control: label, button, ệu về Swing

• Jdialog thư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn ng đư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c thi t l p tr ng thái Modal, ến phức tạp ập hợp các components sử ởi tạo các thành phần ạp

nghĩa là khi Jdialog th c hi n xong m i đựng các ứng dụng giao diện đồ ệu về Swing ới thiệu về Swing ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c phép thao tác lên form cha

Trang 21

private void jbuttonActionPerformed(ActionEvent evt){

NameDialog dlg=new NameDialog (this, true);

//Gán d li u cho dlg thông qua set (n u có) ữ liệu cho dlg thông qua set (nếu có) ện chính trong ếu có)

dlg.setVisible(true);

//L y d li u cho dlg thông qua get (n u có) ấy dữ liệu cho dlg thông qua get (nếu có) ữ liệu cho dlg thông qua set (nếu có) ện chính trong ếu có)

}

Trang 22

JDialog – Một số phương thức thông dụng

• public void setDefaultCloseOperation(int operation);

• Gán phư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng th c m c đ nh khi ngứng dụng giao diện đồ ặc định khi người dùng đóng ị của một ư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn i dùng đóng Frame

• Có 3 l a ch n sau:ựng các ứng dụng giao diện đồ ọa người dùng (GUI – Graphics User Interface) của ngôn

– WindowConstants.DO_NOTHING_ON_CLOSE

– WindowConstants.HIDE_ON_CLOSE

– WindowConstants.DISPOSE_ON_CLOSE

Trang 23

JDialog – Một số phương thức thông dụng

• M t s phột thư viện để xây dựng các ứng dụng giao diện đồ ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng ư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng th c tứng dụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng t JFrameựng các ứng dụng giao diện đồ

– public void setResizable ( boolean resizable);

– public void setTitle ( String title);

– public void setBackground ( Color c);

– public void setForeground ( Color c);

– public void setIconImage ( Image image);

– public void setSize ( Dimension d);

– public void setSize ( int width, int height);

– public void setLocation ( Point p);

– public void setLocation ( int x, int y);

– public void setVisible ( boolean visible);

– public void dispose();

– public Containter getCotentPane();

Trang 24

JDialog – Một số phương thức thông dụng

• public void setModal (boolean modal);

– true: Modal

– false : Modeless

• Tư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng t cho các phựng các ứng dụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng th c get/isứng dụng giao diện đồ

Trang 25

dlg.setValue(jlblResult.getText());

jlblResult.setText(dlg.getValue());

}

}

Trang 26

}

}

Trang 27

public class DemoSWING {

public static void main( String [] args) { JFrame f = new VD3_Frame();

f.setVisible(true);

}

}

Trang 28

JDesktopPane & JInternalFrame

Trang 29

JDesktopPane & JInternalFrame

• JDesktopPane

– JDesktopPane đư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c s d ng đ xây d ng ng d ng MDI ử ụng giao diện đồ ể xây dựng các ứng dụng giao diện đồ ựng các ứng dụng giao diện đồ ứng dụng giao diện đồ ụng giao diện đồ

– JDesktopPane thư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn ng là m t thành ph n bên trong ột thư viện để xây dựng các ứng dụng giao diện đồ ần của Swing: JFrame

– JDesktopPane thư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn ng đ ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c s d ng đ ch a các ử ụng giao diện đồ ể xây dựng các ứng dụng giao diện đồ ứng dụng giao diện đồ

JInternalFrame bên trong

• JInternalFrame

– JInternalFrame đ ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c s d ng đ đ a vào bên trong ử ụng giao diện đồ ể xây dựng các ứng dụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ

JDesktopPane c a JFrame đ xây d ng ng d ng MDI ủa Swing: ể xây dựng các ứng dụng giao diện đồ ựng các ứng dụng giao diện đồ ứng dụng giao diện đồ ụng giao diện đồ

• Các bư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swingc xây d ng ng d ng MDI:ựng các ứng dụng giao diện đồ ứng dụng giao diện đồ ụng giao diện đồ

– B ư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swing c 1: Xây d ng m t hay nhi u ựng các ứng dụng giao diện đồ ột thư viện để xây dựng các ứng dụng giao diện đồ ề Swing JInternalFrame

– B ư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swing c 2: T o m t ạp. ột thư viện để xây dựng các ứng dụng giao diện đồ JFrame có m t ột thư viện để xây dựng các ứng dụng giao diện đồ JDesktopPane bên trong

– B ư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swing c 3: G n ắn JInternalFrame vào bên trong JDesktopPane

Trang 30

JDesktopPane và JInternalFrame

JFrame

JDesktopPane

Trang 31

JDesktopPane & JInternalFrame– Một

số phương thức thông dụng

• JDesktopPane:

– public void add( Component component);

• component : th ư viện để xây dựng các ứng dụng giao diện đồ ời dùng (GUI – Graphics User Interface) của ngôn ng là JInternalFrame – public JInternalFrame getSelectedFrame();

• L y JInternalFrame đang đ ất nhiều loại control: label, button, ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c ch n ọa người dùng (GUI – Graphics User Interface) của ngôn – public JInternalFrame [] getAllFrames();

• L y t t c các JInternalFrame bên trong ất nhiều loại control: label, button, ất nhiều loại control: label, button, ản

• JInternalFrame

– T ư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng t JFrame ựng các ứng dụng giao diện đồ

Trang 33

JDesktopPane & JInternalFrame – Ví dụ 4

f.setVisible(true);

}

}

Trang 34

có th để xây dựng các ứng dụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử ử ụng giao diện đồ c s d ng nh m t user control.ư viện để xây dựng các ứng dụng giao diện đồ ột thư viện để xây dựng các ứng dụng giao diện đồ

• JPanel đư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c s d ng nh m t thành ph n bên trong ử ụng giao diện đồ ư viện để xây dựng các ứng dụng giao diện đồ ột thư viện để xây dựng các ứng dụng giao diện đồ ần của Swing:

Trang 36

Layout Manager

• M t ột thư viện để xây dựng các ứng dụng giao diện đồ Container là m t Component có th ch a các ột thư viện để xây dựng các ứng dụng giao diện đồ ể xây dựng các ứng dụng giao diện đồ ứng dụng giao diện đồ

JPanel, JDesktopPane, JInternalFrame

• getContentPane().add đ thêm Component vào Containerể xây dựng các ứng dụng giao diện đồ

• M i Container có m t đ i tỗi đối tượng ột thư viện để xây dựng các ứng dụng giao diện đồ ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử ng Layout Manager

• Layout Manager là m t đ i tột thư viện để xây dựng các ứng dụng giao diện đồ ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử ng quy t đ nh ến phức tạp ị của một cách

s p x p v trí c a các Component ắp xếp vị trí của các Component ếu có) ị trí của các Component ủa các Component bên trong m t ột thư viện để xây dựng các ứng dụng giao diện đồ

Container

Trang 37

Layout Manager

• M i ỗi đối tượng Container có m t đ i ột thư viện để xây dựng các ứng dụng giao diện đồ ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng tư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử ng Layout Manager m c ặc định khi người dùng đóng

đ nhị của một , nh ng hoàn toàn có th gán cho ư viện để xây dựng các ứng dụng giao diện đồ ể xây dựng các ứng dụng giao diện đồ Container m t ột thư viện để xây dựng các ứng dụng giao diện đồ

đ i tối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử ng Layout Manger theo ý mu nối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng

vi c b trí các ệu về Swing ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng Component bên trong m t ột thư viện để xây dựng các ứng dụng giao diện đồ Container

• M t ột thư viện để xây dựng các ứng dụng giao diện đồ Layout Manager ch u trách nhi m b trí các ị của một ệu về Swing ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng

Component đư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c thêm vào Container và khi Container

thay đ i kích thổ hiển thị của một ư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swingc

c a ủa Swing: Container đ thay đ i cách b trí các ể xây dựng các ứng dụng giao diện đồ ổ hiển thị của một ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng Component

bên trong nó

Trang 38

Layout Manager Implemented Interfaces

Trang 39

FlowLayout

• T o dòng m i khi kích thạp ới thiệu về Swing ư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swingc dòng còn l i không đ ch a ạp ủa Swing: ứng dụng giao diện đồ Component thêm vào

• Flow Layout b trí v trí các Component ph thu c vào ối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng ị của một ụng giao diện đồ ột thư viện để xây dựng các ứng dụng giao diện đồ kích thư viện để xây dựng các ứng dụng giao diện đồ ới thiệu về Swing ủa Swing:c c a Container

• M i dòng c a các Component đỗi đối tượng ủa Swing: ư viện để xây dựng các ứng dụng giao diện đồ ợp các components sử c window m c đ nh ặc định khi người dùng đóng ị của một

ho c ph i.ặc định khi người dùng đóng ản

Trang 40

FlowLayout – Một số phương thức phổ biến

• public FlowLayout (): Phư viện để xây dựng các ứng dụng giao diện đồ ơ bản ng th c kh i t o m c đ nhứng dụng giao diện đồ ởi tạo các thành phần ạp ặc định khi người dùng đóng ị của một

– align: FlowLayout.CENTER

– vgap: 5px, hgap: 5px

tham sối tượng trong thiết kế giao diện của Swing) Mỗi đối tượng

– align: canh lề Swing

• FlowLayout.CENTER : Canh gi a ữ JAVA

• FlowLayout.LEFT; : Canh trái

• FlowLayout.RIGHT; : Canh ph i ản

– hgap: 5px, vgap: 5px

Ngày đăng: 16/07/2020, 10:52

TỪ KHÓA LIÊN QUAN

w