bai11 swing

Upload: pandamun-imperial

Post on 13-Jul-2015

84 views

Category:

Documents


0 download

TRANSCRIPT

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