Professional Documents
Culture Documents
JAVA SWING VÀ
LẬP TRÌNH HƯỚNG SỰ KIỆN
Ý tưởng và thành phần
Nội dung
2
Hướng sự kiện
Chương trình đang trong trạng thái bị động
Chương trình chờ đợi khi xảy ra một sự kiện
trong môi trường
Khi sự kiện xảy đến, chương trình kích hoạt sự
kiện đó, và đợi đến sự kiện tiếp theo
Chương trình với chế độ đồ họa, giao diện
người sử dụng luôn luôn là hướng sự kiện
(event driven)
Chương trình hướng sự kiện
5
JCheckBox – đánh dấu của một nút hiển thị trạng thái với người sử
dụng
JRadioButton – đánh dấu sự hiển thị trạng thái của nó tới người sử
dụng
JComboBox – danh sách thả xuống với trường text có thể thay đổi.
JList – cho phép người sử dụng lựa chọn 1 hoặc nhiều khoản trong
list
JMenu – Menu thả thể hiện danh sách lựa chọn cho người sử dụng
JSlider – cho phép người sử dụng lựa chọn giá trị qua nút bấm
JTextField – vùng để nhập vào dòng đơn
Thành phần cơ bản
10
JTree
JTable
Container
12
JButton
AbstractButto
JCheckB
n
JToggleButt ox
JComboBox on JRadioButto
Component n
JLabel
JComponen
Container JPanel
t
JRootPane
Windows
JScrollPane
JSlider
Frame
javax.swing.text JTextField
JFrame
JTextComponent
<interface> JTextArea
RootPaneContai
ner
Container mức cao
16
Content Pane
JFrame Container
*
Componen
t
Thành phần chính và phụ
20
import javax.swing.*;
public class DisplayFrame {
public static void main (String[] args) {
JFrame f = new JFrame("A Frame");
//… components
f.setSize(300,200);
f.setVisible(true);
}
}
(Chương trình trên ko ngừng lại được, vì sao?)
Lập trình liên tiếp và song song
22
JFrame
Quản lý layout (LayoutManager)
24
public OnOffSwitch () {
super("On/Off Switch"); // frame title
// create button and set its colors
JButton button = new JButton("On/Off");
button.setForeground(Color.black);
button.setBackground(Color.white);
// create and register button’s listener:
button.addActionListener(new Switcher());
// add button to JFrame’s content pane:
this.getContentPane().add(
button, BorderLayout.CENTER);
}
Đóng chương trình JFrame
35
Sử dụng JFrame
Bổ sung các thành phần trong giao diện
Lớp Terminator cho phép đóng cửa sổ
Thành phần mẫu (model) – đối tượng mẫu và giải quyết các vấn đề
Thành phần khung nhìn (view) – thể hiện mẫu
Thành phần điều khiển (controller) – nắm các sự kiện nhập vào từ
người dùng
View
View
view1
view3
Controller
control1
Model
View
view2
Controller
control2
Ví dụ MVC
48
registers
Client
observes
TextView has
3
JTextField RightTriangle
2
listenes to
TVController modifies
Kết luận
54