1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo án - Bài giảng: TÀI LIỆU LẬP TRÌNH JAVA SWING

47 1,8K 9
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề SWING Layout Trong Swing
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Lập trình Java Swing
Thể loại Giáo án - Bài giảng
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 47
Dung lượng 592 KB

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

Nội dung

 Không dễ dàng gì để tự quản lý vị trí của các components trên GUI.. layout, các lớp layout này đều implement LayoutManager interface... GUI Slide 5/57FlowLayout  Bố trí các component

Trang 1

SWING

Layout trong SWING

Trang 2

Nội dung

Trang 3

Giới thiệu về Layout

lên container

 Không dễ dàng gì để tự quản lý vị trí

của các components trên GUI

LayoutManager là interface mô tả về

các layout

layout, các lớp layout này đều

implement LayoutManager interface

Trang 5

GUI Slide 5/57

FlowLayout

 Bố trí các component theo dạng chảy xuôi

theo thứ tự mà phần tử này được add vào container.

 Đây là layout mặc định của Panel.

 Nếu có nhiều component trên container 

Các component có thể được đặt trên

nhiều dòng  Vấn đề gióng hàng (Align)

 Giữa các component, chúng hở nhau theo

chiều dọc (vgap) bao nhiêu, theo chiều

ngang (hgap) bao nhiêu?

Trang 6

FlowLayout(int align, int hgap, int vgap)

Tạo FlowLayout với 3 tham số

Trị của align: các dữ liệu static của class

FlowLayout

LEFT CENTER RIGHT

LEADING (phía đầu, tương tự LEFT)

TRAILING (phía đuôi, tương tự RIGHT)

Trang 7

GUI Slide 7/57

BorderLayout

 Bố trí các component theo dạng ra biên của

khung tạo ra 5 vị trí: EAST, WEST,

SOUTH,NORTH, CENTER.

 Đây là layout MẶC ĐỊNH của Frame.

 Nếu container chỉ có 1 component và đặt nó ở vị

trí CENTER thì component này phủ kín container.

 Cú pháp thêm 1 component vào container tại 1 vị

Trang 8

dòng, cols cột đều nhau

Lưới

Lưới 1x4 Lưới 1x4

Trang 9

Constructor

GridLayout()

GridLayout(int rows, int cols)

Tạo grid layout rows x cols

GridLayout(int rows, int cols, int hgap,

int vgap)

Trang 10

 Layout dạng lưới cho phép 1 component

chiếm 1 số ô kề nhau theo cả 2 chiều.

 Hình Empoyee Info sau là GridBagLayout

6x4, các label bên trái chiếm 1ô, các

textbox chiếm 3 ô ngang Dòng “Sex”

chiếm 4 ô ngang, 2 checkbox chiếm 2 ô ngang.

Trang 11

 Bố trí các component thành từng lớp như

lưng các quân bài (card).

 Thường dùng Panel để chứa các

component.

 Tại 1 thời điểm chỉ có 1 panel hiện hành

(quân bài trên cùng).

 Có thể chuyển qua lại giữa các Panel.

Trang 12

Frame

Cơ chế điều khiển

Main panel với

Trang 14

Lập trình Giao Diện với JFC

Trang 15

Nội dung

Trang 17

GUI Slide 17/57

Gói AWT của Java

AWT : abstract windowing toolkit - bộ

công cụ chứa các lớp để tạo cửa sổ.

 AWT là 1 phần của JFC- Java Foundation

Trang 18

10. public static void main (String[] args) {

11 new DemoAWT("First App");

12 }

13 }

18

Trang 19

•Có thể thay đổi diện

mạo của linh kiện lúc runtime

•Mô hình MVC

(Model – View – Controller)

Trang 21

Kiến trúc SWING

Trang 22

9. public static void main (String[] args) {

10 new DemoJFrame("Demo Swing");

11 }

12 }

22

Trang 23

SWING Component - JFrame

public class JButtonsDemo extends

JFrame

{

Container cn ;

JButton button1 = new JButton(“Java”);

public JButtonsDemo(String title)

SourceCode

JFrame() JFrame(String title )

Trang 24

JPanel

ContentPane của JFrame thực chất là

1 JPanel

JPanel()

JPanel( LayoutManager layout)

p.add(c) ;

Trang 25

JButton

JButton là lớp kế thừa từ JAbstractButton, diện mạo của

JButton bao gồm: 1 nhãn and/or 1 ảnh diễn tả mục đích của nút này Chữ trên nút có thể gạch dưới để mô tả phím nóng của nút (shortcut key, mnemonic key).

Trang 26

JLabel

JLabel cũng tương tự như Label của AWT

nhưng có thêm tính chất cho phép nạp 1 ảnh vào nhãn này, xử lý HTML

Trang 30

Nhập bằng lựa chọn với JCheckBox,

JRadioButton, JList

JCheckbox : Cho phép chọn nhiều lựa chọn

JRadioButton : Chọn 1 trong nhóm lựa chọn

Trang 31

Demo JRadioButton - JCheckBox

ButtonGroup Grp = new ButtonGroup();

JRadioButton rad1 = new JRadioButton("Male",true);

JRadioButton rad2 = new JRadioButton("Female",false);

Grp.add(rad1); Grp.add(rad2);

Source Code

Trang 34

JMenu

Trang 35

JMenuItem() JMenuItem(Action a) JMenuItem(Icon icon) JMenuItem(String text) JMenuItem(String text, Icon icon) JMenuItem(String text,int mnemonic)

JMenuBar mBar = new JMenuBar JMenu mFile = new JMenu(“File”);

mBar.add(mFile); this.setJMenuBar(mBar);

Trang 36

}

Trang 37

Menu Demo

Source Demo Menu1.java

Trang 38

SWING

Dialog

Trang 39

Nội dung

Trang 40

button “OK”

1.) "Yes" and "No"

2.) "Yes", "No" and "Cancel"

3.) "Ok", and "Cancel"

button “OK” và “Cancel”

Trang 41

GUI Slide 41/57

Các phương thức của class

showMessageDialog(): hiển thị Message đơn

giản với một nút “OK”

showInputDialog(): hiển thị một hộp thoại

input Method trả về một String ( vừa nhập )

showConfirmDialog(): And the last or third

method is the showConfirmDialog() which

asks the user for confirmation (Yes/No) by

displaying message This method return a

numeric value either 0 or 1 If you click on the

"Yes" button then the method returns 1

otherwise 0

Trang 42

import javax.swing.*;

import java.awt.event.*;

public class ShowDialogBox{

JFrame frame;

public static void main(String[] args){

ShowDialogBox db = new ShowDialogBox();

}

public ShowDialogBox(){

frame = new JFrame("Show Message Dialog");

JButton button = new JButton("Click Me");

public class MyAction implements ActionListener{

public void actionPerformed(ActionEvent e){

JOptionPane.showMessageDialog(frame,"Roseindia.net"); }

}

}

Demo

Trang 43

Các phương thức khác - Demo

Trang 44

GUIKết quả …

Trang 45

ShowInputDialog

Trang 46

Các Dialog chuẩn của Window

46

Ngày đăng: 16/04/2014, 14:57

HÌNH ẢNH LIÊN QUAN

Hình ứng dụng hướng sự kiện. - Giáo án - Bài giảng: TÀI LIỆU LẬP TRÌNH JAVA SWING
nh ứng dụng hướng sự kiện (Trang 17)

TỪ KHÓA LIÊN QUAN

w