Đề cương bài giảng Java cơ sở

Java thích hợp đểphát triển ứng dụng nhiều lớp. Applet là chương trình đồ

họa chạy trên trình duyệt tại máy trạm. Ởcác ứng dụng Web, máy trạm gửi yêu

cầu tới máy chủ. Máy chủxửlý và gửi kết quảtrởlại máy trạm. Các Java API

chạy trên máy chủchịu trách nhiệm xửlý tại máy chủvà trảlời các yêu cầu của

máy trạm. Các Java API chạy trên máy chủnày mởrộng khảnăng của các ứng

dụng Java API chuẩn. Các ứng dụng trên máy chủnày được gọi là các

JSP/Servlet. hoặc Applet tại máy chủ. Xửlý Form của HTML là cách sửdụng đơn

giản nhất của JSP/Servlet. Chúng còn có thể được dùng đểxửlý dữliệu, thực thi

các giao dịch và thường được thực thi thông qua máy chủWeb.

pdf193 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 2550 | Lượt tải: 0download
Tóm tắt nội dung Đề cương bài giảng Java cơ sở, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
n giao diện khác vào Frame: 
Ví dụ: myWindow.getContentPane().add(new JButton(“OK”));// Đưa vào 
một nút (JButton) có tên “OK” vào frame 
3. Đặt lại kích thước cho frame sử dụng hàm setSize(): 
 myWindow.setSize(200, 300);// Đặt lại khung frame là 200 ( 300 
4. Gói khung frame đó lại bằng hàm pack(): 
 myWindow.pack(); 
5. Cho hiện frame: 
 myWindow.setVisible(true); 
II. Trình quản lý hiển thị trong Java 
 Khi thiết kế giao diện đồ họa cho một ứng dụng, chúng ta phải quan tâm 
đến kích thước và cách bố trí (layout) các thành phần giao diện như: JButton, 
JCheckbox, JTextField, v.v. sao cho tiện lợi nhất đối với người sử dụng. Java có 
các lớp đảm nhiệm những công việc trên và quản lý các thành phần giao diện GUI 
bên trong các vật chứa. 
Bảng sau cung cấp bốn lớp quản lý layout (cách bố trí và sắp xếp) các thành phần 
GUI. 
Tên lớp Mô tả 
FlowLayout Xếp các thành phần giao diện trước tiên theo hàng từ trái qua phải, 
sau đó theo cột từ trên xuống dưới. Cách sắp xếp này là mặc định 
đối với Panel, JPanel ,Applet và JApplet. 
GridLayout Các thành phần giao diện được sắp xếp trong các ô lưới hình chữ 
nhật lần lượt theo hàng từ trái qua phải và theo cột từ trên xuống 
dưới trong một phần tử chứa. Mỗi thành phần giao diện chứa trong 
một ô. 
BorderLayout Các thành phần giao diện (ít hơn 5) được đặt vào các vị trí theo các 
hướng: north (bắc), south (nam), west (tây), east (đông) và center 
(trung tâm)). Cách sắp xếp này là mặc định đối với lớp Window, 
Frame, Jframe, Dialog và JDialog. 
GridBagLayout Cho phép đặt các thành phần giao diện vào lưới hình chữ nhật, 
nhưng một thành phần có thể chiếm nhiều nhiều hơn một ô. 
null Các thành phần bên trong vật chứa không được sẵp lại khi kích 
thước của vật chứa thay đổi. 
Các phương pháp thiết đặt layout 
Để lấy về layout hay để đặt lại layout cho vật chứa, chúng ta có thể sử dụng hai 
phương thức của lớp Container: 
 LayoutManager getLayout(); 
 void setLayout(LayoutManager mgr); 
Các thành phần giao diện sau khi đã được tạo ra thì phải được đưa vào một phần 
tử chứa nào đó. Hàm add() của lớp Container được nạp chồng để thực hiện nhiệm 
vụ đưa các thành phần vào phần tử chứa. 
Component add(Component comp) 
Component add(Component comp, int index) 
Cmponent add(Component comp, Object constraints) 
Cmponent add(Component comp, Object constraints, int index) 
Trong đó, đối số index được sử dụng để chỉ ra vị trí của ô cần đặt thành phần giao 
diện comp vào. Đối số constraints xác định các hướng để đưa comp vào phần tử 
chứa. 
Ngược lại, khi cần loại ra khỏi phần tử chứa một thành phần giao diện thì sử dụng 
các hàm sau: 
 void remove(int index) 
 void remove(Component comp) 
 void removeAll() 
1. Lớp FlowLayout 
Lớp FlowLayout cung cấp các hàm tạo lập để sắp hàng các thành phần giao diện: 
FlowLayout() 
FlowLayout(int aligment) 
FlowLayout(int aligment, int horizongap, int verticalgap) 
public static final int LEFT 
public static final int CENTER 
public static final int RIGHT 
 Đối số aligment xác định cách sắp theo hàng: từ trái, phải hay trung tâm, 
horizongap và verticalgap là khoảng cách tính theo pixel giữa các hàng 
các cột. Trường hợp mặc định thì khoảng cách giữa các hàng, cột là 5 pixel. 
2. Lớp GridLayout 
Lớp GridLayout cung cấp các hàm tạo lập để sắp hàng các thành phần giao diện: 
GridLayout() 
GridLayout(int rows, int columns) 
GridLayout(int rows, int columns, int hoiongap, int verticalgap) 
 Tạo ra một lưới hình chữ nhật có rows ( columns ô có khoảng cách giữa các 
hàng các cột là horizongap, verticalgap. Một trong hai đối số rows hoặc 
columns có thể là 0, nhưng không thể cả hai, GridLayout(1,0) là tạo ra lưới 
có một hàng. 
3.Lớp BorderLayout 
Lớp BorderLayout cho phép đặt một thành phần giao diện vào một trong bốn 
hướng: bắc (NORTH), nam (SOUTH), đông (EAST), tây (WEST) và ở giữa 
(CENTER). 
BorderLayout() 
BorderLayout(int horizongap, int verticalgap) 
 Tạo ra một layout mặc định hoặc có khoảng cách giữa các thành phần (tính 
bằng pixel) là horizongap theo hàng và verticalgap theo cột. 
Component add(Component comp) 
void add(Component comp, Object constraint) 
public static final String NORTH 
public static final String SOUTH 
public static final String EAST 
public static final String WEST 
public static final String CENTER 
 Trường hợp mặc định là CENTER, ngược lại, có thể chỉ định hướng để đặt 
các thành phần comp vào phần tử chứa theo constraint là một trong các 
hằng trên. 
III. Xử lý sự kiện trong Java 
Các ứng dụng với GUI thường được hướng dẫn bởi các sự kiện (event). 
Việc nhấn một nút, mở, đóng các Window hay gõ các ký tự từ bàn phím, v.v. đều 
tạo ra các sự kiện (event) và được gửi tới cho chương trình ứng dụng. Trong Java 
các sự kiện được thể hiện bằng các đối tượng. Lớp cơ sở nhất, lớp cha của tất cả 
các lớp con của các sự kiện là lớp java.util.EventObject. 
Hình H7-20 Các lớp xử lý các sự kiện 
Các lớp con của AWTEvent được chia thành hai nhóm: 
1. Các lớp mô tả về ngữ nghĩa của các sự kiện, 
2. Các lớp sự kiện ở mức thấp. 
1. Ý nghĩa của các lớp 
a. ActionEvent 
Sự kiện này được phát sinh bởi những hoạt thực hiện trên các thành phần của 
GUI. Các thành phần gây ra các sự kiện hành động bao gồm: 
1 JButton - khi một nút button được khích hoạt, 
2 JList - khi một mục trong danh sách được kích hoạt đúp, 
3 JmenuItem, JcheckBoxMenu, JradioMenu - khi một mục trong thực đơn 
được chọn, 
4 JTextField - khi gõ phím ENTER trong trường văn bản (text). 
b. AdjustmentEvent 
Sự kiện này xẩy ra khi ta điều chỉnh (adjustment) giá trị thanh cuốn (JScollBar) 
1 Scrollbar - khi thực hiện một lần căn chỉnh trong thanh trượt Scrollbar. 
Lớp này có phương thức int getValue(): cho lại giá trị hiện thời được xác định bởi 
lần căn chỉnh sau cùng. 
c. ItemEvent 
Các thành phần của GUI gây ra các sự kiện về các mục gồm có: 
1 JCheckbox - khi trạng thái của hộp kiểm tra Checkbox thay đổi. 
2 CheckboxMenuItem - khi trạng thái của hộp kiểm tra Checkbox ứng với 
mục của thực đơn thay đổi. 
3 JRadioButton- khi trạng thái của hộp chọn (Option) thay đổi. 
4 JList - khi một mục trong danh sách được chọn hoặc bị loại bỏ chọn. 
5 JCompoBox - khi một mục trong danh sách được chọn hoặc bị loại bỏ 
chọn. 
Lớp ItemEvent có phương thức Object getItem(): Cho lại đối tượng được chọn 
hay vừa bị bỏ chọn. 
d. TextEvent 
Các thành phần của GUI gây ra các sự kiện về text gồm có: 
1 TextArea - khi kết thúc bằng nhấn nút ENTER, 
2 TextField - khi kết thúc bằng nhấn nút ENTER. 
 e. ComponentEvent 
Sự kiện này xuất hiện khi một thành phần bị ẩn đi/hiển ra hoặc thay thay đổi lại 
kích thước. Lớp ComponentEvent có phương thức: 
Component getComponent() 
 Cho lại đối tượng tham chiếu kiểu Component. 
f. ContainerEvent 
Sự kiện này xuất hiện khi một thành phần được bổ sung hay bị loại bỏ khỏi 
vật chứa (Container). 
g. FocusEvent 
Sự kiện loại này xuất hiện khi một thành phần nhận hoặc mất focus. 
h. KeyEvent 
 Lớp KeyEvent là lớp con của lớp trừu tượng InputEvent được sử dụng để 
xử lý các sự kiện liên quan đến các phím của bàn phím. Lớp này có các phương 
thức: 
 int getKeyCode() 
- Đối với các sự kiện KEY_PRESSED hoặc KEY_RELEASED, hàm này được sử 
dụng để nhận lại giá trị nguyên tương ứng với mã của phím trên bàn phím. 
 char getKeyChar() 
- Đối với các sự kiện KEY_PRESSED, hàm này được sử dụng để nhận lại giá trị 
nguyên, mã Unicode tương ứng với ký tự của bàn phím. 
i. MouseEvent 
Lớp MouseEvent là lớp con của lớp trừu tượng InputEvent được sử dụng để xử 
lý các tín hiệu của chuột. Lớp này có các phương thức: 
int getX() 
int getY() 
Point getPoint() 
 Các hàm này được sử dụng để nhận lại tọa độ x, y của vị trí liên quan đến 
sự kiện do chuột gây ra. 
void translatePoint(int dx, int dy) 
 Hàm translate() được sử dụng để chuyển tọa độ của sự kiện do chuột gây 
ra đến (dx, dy). 
int getClickCount() 
 Hàm getClickCount() đếm số lần kích chuột. 
j. PaintEvent 
 Sự kiện này xuất hiện khi một thành phần được vẽ lại, thực tế sự kiện này 
xẩy ra khi phương thức paint()/ update() được gọi đến. 
k. WindowEvent 
 Sự kiện loại này xuất hiện khi thao tác với các Window, chẳng hạn như: 
đóng, phóng to, thu nhỏ.. một cửa sổ. Lớp này có phương thức: 
Window getWindow() 
 Hàm này cho lại đối tượng của lớp Window ứng với sự kiện liên quan đến 
Window đã xảy ra. 
Kiểu sự kiện Nguồn gây ra sự kiện Phương thức đang ký, gõ bỏ 
đối tượng lắng nghe 
Giao diện 
Listener lắng 
nghe tương ứng 
AcitionEvent JButton 
JList 
TexField 
addComponentlistener 
removeActiontListener 
AcitionListener 
AdjustmentEvent JScrollbar addAdjustmentListener 
removeAdjustmentListener 
AdjustmentListe
ner 
ItemEvent JCheckbox addItemListener ItemListener 
 JCheckboxMenuItem 
JRadioButton 
JList 
JCompoBox 
removeItemListener 
TextEvent JTextArea 
JTexField 
JTextPane 
JEditorPane 
addTexListener 
removeTextListener 
TextListener 
ComponentEvent Component addComponentListener 
removeComponentListener 
ComponentListe
ner 
ContainerEvent Container 
addContainerListener 
removeContainerListener 
ContainerListen
er 
FocusEvent Component addFocusListener 
removeFocusListener 
FocusListener 
KeyEvent Component addkeyListener 
removeKeyListener 
KeyListener 
MouseEvent Component addMouseListener 
remoMouseListener 
addMouseMotionListener 
remoMouseMotionListener 
MouseMotionLi
stener 
WindowEvent Window addWindowListener 
removeWindowListener 
WindowListener
 3. Một số lớp điều hợp 
Giao diện Listener lắng nghe Lớp điều hợp tương ứng 
AcitionListener Không có lớp điều hợp tương ứng 
AdjustmentListener AdjustmentAdapter 
ItemListener Không có lớp điều hợp tương ứng 
TextListener Không có lớp điều hợp tương ứng 
ComponentListener ComponentAdapter 
ContainerListener ContainerAdapter 
FocusListener FocusAdapter 
KeyListener KeyAdapter 
MouseMotionListener MouseMotionAdapter 
WindowListener WindowAdapter 

File đính kèm:

  • pdfĐề cương bài giảng Java cơ sở.pdf
Tài liệu liên quan