Tải bản đầy đủ (.pdf) (17 trang)

swing-lập trình đồ họa trong java

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (324.23 KB, 17 trang )

Swing-Lập trình đồ họa
trong Java
JFC - Java Foundation Class
JFC là thư viện các lớp được tạo ra nhằm đơn giản hóa
quá trĩnh thiết kê và giảm thời gian lập trình.
JFC mở rộng AWT bằng cách thêm vào các lớp và các
GUI component.
Swing
Swing là một tập các lớp trong JFC, nó cho phép tạo ra
các giao diện hấp dẫn.
Swing không chỉ thay thê AWT mà còn cung cấp thêm
rất nhiều component phức tạp khác (tab, scroll pane,
tree ).
Swing vs. AWT
AWT: Abstract Windows Toolkit:
• Java 1
• ĐƯỢc gắn với platform xác định
• Thích hỢp với việc phát triển các ứng dụng GUI đơn giản.
Swing components:
• Java 2
• Không gắn với platform cô định
• Mạnh, đa năng, linh hoạt
Swing Look and Feel
Look and Feel cung cấp một giao diện đồng nhất về màu
sắc, hình dạng, bô cục ( Look) và hành vi của các thành
phần ( Feel).
Swing cho phép người dùng lựa chọn look and feel: Java,
GTK+, Windows
Khi người dùng không chỉ rõ Look and Feel thi Swing UI
Manager sẽ xác định Look and Feel nào sẽ được sử dụng.
Các thành phần GUI


Các đối tượng GUI: button, label, text field, check box,
radio button, combo box,
Mỗi loại đối tượng được xác định trong 1 lớp: JButton,
JLabel, JTextField, JCheckBox, JRadioButton,
JComboBox,
Mỗi lớp thành phần GUI có một sô constructor để tạo
các đối tượng thành phần GUI.
Câu trúc phân cãp thành phân
Cấu trúc thành phần nhìn từ trên xuống bao gồm :
Top-level Container(s):
•! .*! /fỳ í t "ýt "ĨXA/
YY f f yiSL'YY
Dỉ3.bg JDidhg
X
Ííđỉììe
JFranie
JWffidow
Intermediate Container(s): trực tiếp chứa các thành
phần GUI khác.
Atomic Component(s): IButton, J Label
Top-level Containers
NÓ được dùng để chứa các thành phần khác
JApplet.
Jdialog
Jframe
Jwindow.
intermediate Containers
Các intermediate Container mục đích chung:
All Folders I * ] cookies File Options Com
meine ojfSiGiii

E
Meters ▼
V I
A * 4
Home Search Gu
iLJ
All Folders
BOOT
^ jpBfllipff
C j Adobe
as] urlpool
Panel
SplitPane
TableView
DebugGraphics
Swing!
Bi
Scroll pane Split pane
Các internediate mục đích đặc biệt:

___________

_______

______
,
Tabbed pane
InternalFram eDemo
Document
Docunmnt #1 : ị ■ : : 1 / ^ 0

F I Document u2
Choose Duke's Layer and Position
H Top Position in Layer
Magenta (1)
Move tile M ouse to Move Duke
Yellow (0)
Magenta (1)
if
ïntP anî *L
Root Pane'
Content P a n r l
^ _ ^ ^ - L a y e re d Pane
Menu Bar
■«-Glass Pane
Internal frame Layered pane Root pane
Atomic Components
Atomic Components - Các điẻu khiển cơ bản
[Monday
v ầ
IE Cl
«
heck 1
|) Radio 2
OK
Monday
Theme Help
Buttons Combo box
January
February


i?metal
etri-ffi
r
March
I?Organic Ctrl-0 I
April

□ metal2 ctfi-2
List
Menu Slider
|George Washington
[Thomas Jefferson
¡Benjamin Franklin
Text field
Các Atomic componéis phục vụ hiến thị và không thê
thay đổi thông tin : Label, Progress bar, Tooltip.
Các Atomic componéis hiển thị cho phép thay đổi thông
tin:color chooser, File Chooser,Table, Text, Tree.
cấu trúc một ứng dụng GUI
GUI
JJ T ld m e
JPanel
JButton
JLabel
Cẩu trúc bẽn trong
Một ứng dụng mẫu
import javax.swing.*;
class hello {
public static void main(String[] args){

JFrame f = new JFrame(“title”);
JPanel p = new JPanel();
JButton b = new JButton(“press me”);
p.add(b); // add button to panel
f.setContentPane(p); // add panel to frame
f.show();
}
}
Layout Managers
null
Không có layout,
lập trình viên phải tự
xác định x,y,w,h
BorderLayout
n
w
e
c
s
FlowLayout
Từ trái sang phảit
Trên xuống dưới
CardLayout
GridLayout
GridBagLayout
JButton
I
Thiết lập Layout Manager
LayoutManager layMan = new XLayout();
container.setLayout(layMan);

XLayout:
• FlowLayout
• GridLayout
• BorderLayout
• CardLayout
• GridBagLayout
Phöi höp câc Layout Manager
igFratne 1
JButton JButton
JTextArea
Phôi höp câc Layout Manager

×