Pham_loi
Chức vụ: 03:16:38, 17-07-2015 |
Bài 12 - Scrollbar (thanh trượt)
Scrollbar được cập nhật theo 3 tình huống unit,block và absolute
- Khi người dùng click chuột vào mũi tên ở 2 đầu Scrollbar thì unit nảy sinh, thanh trượt sẽ tự động trừ đi hay cộng thêm vị trí của con trượt 1 đơn vị (ta có thể thay đổi giá trị này, mặc định là 1)
- Khi người dùng click chuột vào khoảng giữa thanh trượt và vị trí hiện hành thì block nảy sinh, con trượt sẽ dịch chuyển một khoảng là block
- Khi người dùng nắm vào vị trí hiện tại của con trượt và lôi (drag) nó từ vị trí này sang vị trí khác, absolute nảy sinh
* Khởi tạo thanh trượt
Scrollbar() là đơn giản nhất, mặc định là thanh trượt đứng
Scrollbar(int orientation) với orientation là Scrollbar.HORIZONTAL (ngang) hay Scrollbar.VERTICAL (đứng)
Scrollbar(int orientation,int position,int block,int min,int max) là đầy đủ nhất, ví dụ Scrollbar(Scrollbar.HORIZONTAL,50,15,0,100) tức là thanh trượt ngang, phạm vi từ 0 đến 100, vị trí ban đầu của con trượt là 50 (giữa thanh) khi tình thuống block xảy ra thì con trượt di chuyển 15
* Các phương thức của thanh trượt
Để thay đổi giá trị unit (mặc định là 1) ta dùng setUnitIncrement(int unit) với unit mới
Để thay đổi giá trị block ta dùng setBlockIncrement(int block) với block mới
Để biết vị trí hiện hành của con trượt ta dùng int getValue()
* Viết bộ nghe và hành động cho thanh trượt
Để xử lí tình huống của Scrollbar khi nó thay đổi trạng thái, ta phải cho nó implements giao diện AdjustmentListener, và bên trong nó có phương thức adjustmentValueChanged(AdjustmentEvent e). Còn để Scrollbar thực hiện những hành động của lớp ấy thì ta phải dùng phương thức addAdjustmentListener.
Tuy vậy, một thanh trượt thì mỗi khi tác động đến nó, nó phải "cuộn" một cái gì đấy. Muốn AdjustmentListener đáp ứng mỗi khi ta "cuộn" thì cần AdjustmentEvent e biết được vị trí con trượt đang ở đâu, ta dùng e.getValue(). Ví dụ sau là thanh trượt và TextField
Bây giờ thì mỗi lần bạn kéo con trượt thì kí tự '*' lạy thay đổi trong TextField t.
Bài 13 - Các đối tượng khung chứa (container) và bộ quản lí trình bày (layout manager)
Khung chứa nói nôm na là những cái khung tranh bạn cần để dán những nét vẽ (đối tượng đồ họa) của bạn lên đó. Và để sắp xếp các đối tượng này trên khung chứa thì ca cần tới bộ quản lí trình bày.
- Khung chứa mà bạn đã quen thuộc là Frame. Nó giống như cửa sổ của Windows và chứa toàn bộ ứng dụng của bạn
- Một khung chứa khác mà bạn đã biết qua là Panel. Nó giống như một cái bảng hiển thi đầy đủ các thành phần GUI mà bạn muốn tống lên Frame
- Những cái còn lại sẽ học sau. Tất cả các lớp Frame,Panel,... đều là con của lớp Container
* Các phương thức của Container (các phương thức chung của các đối tượng khung chứa)
Component add(Component c) đưa một đối tượng c vào khung chứa. Ví dụ frame.add(panel);
void remove(Component c) đưa một đối tượng c ra khỏi khung chứa. Ví dụ frame.remove(panel);
: 0 ♥
Trực Tuyến:
Khách: 1