TRNG CAO NG CNG NGH THNG TIN TP.HCM
NHP MN JAVA
BI 11
SWING
GING VIN:
(Bi ging ny ly t slide ca GV Nguyn c Hin)
V TN DNG 1
Cc thnh phn GUI Swing
Gi javax.swing.* Cc thnh phn bt ngun t AWT (gi java.awt.*) Cha ng cm quan (look and feel) S th hin v cch ngi s dng tng tc vi chng trnh Nhng thnh phn nh (lightweight) c vit hon ton bng Java
2
Cc thnh phn GUI Swing
Cc thnh phn Cha phng thc paint() v thnh phn trn mn hnh Cc b cha Tp hp cc thnh phn lin quan Cha phng thc add() thm cc thnh phn Lp JComponent Cm quan kh kin (Pluggable) Phm tt (tnh d nh) Kh nng x l s kin chung3
Cc thnh phn GUI Swing Cc siu lp ca nhiu thnh phn Swing
4
Cc thnh phn GUI c bn
JLabel: Hin th vn bn hay nhng biu tng. JTextField: Trng nhp d liu t bn phm, cng c th hin th thng tin. JButton: Nt nhn dng kch hat mt s kin khi nhp chut. JCheckBox: Hp kim tra cho php c la chn hay khng c la chn.
5
Cc thnh phn GUI c bn
JComboBox: Hp danh mc th xung t ngi s dng c th chn mt bi vic kch mt mc trong danh sch hoc nhp ni dung vo trong hp. JList: Hp danh sch t ngi s dng c th chn bi vic nhp vo mt mc trong danh sch. C th chn nhiu mc. JPanel: Mt Container trong nhng thnh phn c th c t v cch trnh by.
6
JLabel
Cung cp vn bn trn GUI c nh ngha vi lp JLabel C th trnh by : Dng vn bn ch c Hnh nh Vn bn v hnh nh
7
JLabel V dKhai bo JLabel
To JLabel
8
JLabel V d
9
JLabel V d
10
Cc JTextField
JTextField Hp vn bn trong ngi s dng c th nhp d liu t bn phm JPasswordField M rng JTextField Che giu cc k t m ngi s dng nhp vo
11
V d s dng JTextField
12
V d s dng JTextField
13
V d s dng JTextField
14
V d - kt qu
15
JTextArea
Vng vn bn cho php thao tc son tho nhiu dng vn bn. Tha k JTextComponent
16
V d s dng JTextArea
17
JButton
Nt nhn - thnh phn ngi s dng nhp kch hat mt hnh ng c th. Mt vi kiu khc nhau Command Button Check Box Radio Button Cc lp dn xut javax.swing.AbstractButton Command Button c to vi lp JButton Sinh ra mt ActionEvent khi ngi s dng nhn trn nt.18
Cy tha k cc JButton
19
V d s dng JButton
20
V d s dng JButton
21
V d JButton - kt qu
22
JCheckBox v JRadioButton
Cc nt trng thi Cc gi tr On/Off hoc true/false Java cung cp 3 kiu: JToggleButton JCheckBox JRadioButton
23
V d s dng JCheckBox
24
V d s dng JCheckBox
25
V d JCheckBox - kt qu
26
JComboBox
Hp danh sch cha cc mc t ngi s dng c th la chn mt mc khi nhp vo n. Cn gi l h danh sch th xung
27
V d s dng JComboBox
28
V d s dng JComboBox
29
V d JComboBox Kt qu
30
JList
Danh sch cc mc Ngi s dng c th chn mt hoc nhiu mc Single-selection vs. multiple-selection
31
V d s dng JList
32
V d s dng JList
33
V d Jlist Kt qu
34
X l s kin chut
Cc giao tip lng nghe cho cc s kin chut MouseListener MouseMotionListener Lng nghe cho i tng s kin MouseEvent.
35
Cc phng thc ca MouseListener public void mousePressed( MouseEvent event): c gi khi mt nt chut c nhn trn mt thnh phn. public void mouseClicked( MouseEvent event ): c gi khi mt nt chut c nhn v th ra trn mt thnh phn. public void mouseReleased( MouseEvent event): c gi khi mt nt chut c th ra sau khi c nhn. Trc s kin ny lun lun l mt s kin mousePressed. public void mouseEntered(MouseEvent event ): c gi khi con tr chut vo nhng ranh gii ca mt thnh phn. public void mouseExited(MouseEvent event ): c gi khi con tr chut ri ranh gii ca mt thnh phn
36
MouseMotionListener
public void mouseDragged(MouseEvent event) c gi khi nt chut c nhn v di chuyn. Trc s kin ny lun lun l gi ti s kin mousePressed. Tt c cc s kin ko u c gi ti thnh phn m trn s ko bt u. public void mouseMoved(MouseEvent event): c gi khi con chut c di chuyn trn mt thnh phn. Tt c cc s kin chuyn ng u c gi ti thnh phn m v tr con chut hin thi .37
V d s dng s kin chut
38
V d s dng s kin chut
39
V d s dng s kin chut
40
V d s kin chut - Kt qu
41
Cc lp Adapter
Hin thc giao tip Cung cp s ci t mc nh ca mi phng thc giao tip c s dng khi tt c cc phng thc trong giao tip khng cn thit
42
Cc lp Adapter
Cc lp Event-Adapter v giao tip chng hin thc trong gi java.awt.event.*
43
V d s dng lp Adapter
44
V d s dng lp Adapter
45
V d s dng lp Adapter
46
X l s kin phm
Giao tip KeyListener X l nhng s kin phm Sinh ra khi nhng phm trn bn phm c nhn v th Lp KeyEvent cha m phm o m i din cho phm
47
V d s dng s kin bn phm
48
V d s dng s kin bn phm
49
V d s dng s kin bn phm
50
Qun l b cc
Cung cp sp xp cc thnh phn GUI Cung cp nhng kh nng cch trnh by c bn X l cc chi tit b cc Lp trnh vin c th tp trung vo v ngoi c bn Giao tip LayoutManager
51
Qun l b cc FlowLayout: Mc nh cho Java.awt.Applet, Java.awt.Panel v javax.swing.JPanel. t cc thnh phn theo tun t (tri qua phi) theo th t khi chng c thm. Cng c th ch r th t ca cc thnh phn bi vic s dng phng thc add() Container, vi cc i s l mt thnh phn v mt s nguyn ch s. BorderLayout: Mc nh cho khung ni dung ca JFrames (v cc Window khc) v JApplets. Sp xp cc thnh phn vo trong 5 vng: Bc (NORTH), Nam (SOUTH), ng (EAST), Ty (WEST ) v Trung tm (CENTER) GridLayout: Sp xp cc thnh phn vo trong cc hng v cc ct.
52
FlowLayout
B qun l b cc c bn nht Cc thnh phn GUI c b tr trong b cha t tri qua phi.
53
V d s dng FlowLayout
54
V d FlowLayout Kt qu
55
BorderLayout
Sp xp cc thnh phn vo nm vng NORTH (nh container) SOUTH (y container) EAST (bn tri container) WEST (bn phi container) CENTER ( gia container)
56
V d s dng BorderLayout
57
V d s dng BorderLayout
58
V d s dng BorderLayout
59
GridLayout
Chia Container thnh mt li gm cc hng v cc ct xc nh Cc thnh phn c b sung bt u ti trn-tri Tin hnh tri-qua-phi cho n khi hng y
60
V d s dng GridLayout
61
V d s dng GridLayout
62
V d s dng GridLayout
63
Panel Khung cha
Gip t chc cc thnh phn Lp JPanel l lp xut ca JComponent C th c nhiu thnh phn (v cc khung cha panel khc) c thm vo chng.
64
V d s dng JPanel
65
V d s dng JPanel
66
V d s dng JPanel
67
JTabbedPane
Sp xp cc thnh phn trong cc lp Mt lp xut hin ti mt thi im Truy cp mi lp thng qua Tab Lp JTabbedPane
68
V d s dng JTabbedPane
69
V d s dng JTabbedPane
70
V d s dng JTabbedPane
71
Con chy - JSlider
Cho php ngi s dng chn gi tr nguyn trong mt vng gi tr xc nh. Mt s c tnh: Tick marks (major and minor) Snap-to ticks Hng (ngang hoc ng)
72
V d: OvalPanel.java
73
V d: OvalPanel.java
74
V d: SliderDemo.java
75
V d: SliderDemo.java
76
V d: SliderDemo
77
S dng Menu vi JFrame
Cho php thc hin cc hnh ng vi GUI Cha bi thanh menu (menu bar) JMenuBar Bao gm cc mc menu (menu items) JMenuItem
78
V d: MenuDemo.java
79
JPopupMenu
Context-sensitive popup menus JPopupMenu Menu c pht sinh ph thuc vo thnh phn ang truy cp. Cch to: JPopupMenu popup = new JPopupMenu(); JMenuItem items = new JMenuItem(Red); popup.add(items); // handling event mousePressed popup.show(ev.getComponent(), ev.getX(), 80 ev.getY());
V d: PopupDemo.java
81
Look-and-Feel (cm quan)
Thay i cm quan (dng v ca giao din) V d, Microsoft Windows look-and-feel n Motif look-and-feel. Linh ng
82
Cch s dng
private UIManager.LookAndFeelInfo looks[]; // get installed look-and-feel information looks = UIManager.getInstalledLookAndFeels(); // change look and feel UIManager.setLookAndFeel( looks[index].getClassName() ); SwingUtilities.updateComponentTreeUI( this );
83
V d: LookFeelDemo.java
84
HT
BI 11
GV: V Tn Dng
85