Phần 3 (tt) : Các thành phần giao diện người dùng
XVIII. Titled Pand và Accordion :
Titled
Pane là 1 Pane Layout có thanh tiêu đề, nó có thể đóng hoặc mở các
thành phần có trong layout. Hình trên là 1 Titled Pane, có thanh tiêu đề
là “Pie chart”, thành phần được đặt trong layout là 1 ImageView.
Accordion là nhóm các TitledPane lại với nhau và chỉ 1 TitledPane
được mở cùng 1 thời điểm. Hình bên là 1 Accordine nhóm 5 TitledPane lại
với nhau.
1. Tạo TitledPane và Accordion :
2. Một số phương thức dành cho TitledPane:
kiểu trả về
|
Phương thức
|
Miêu tả
|
void
|
setText(String value)
|
Thiết lập nội dung tiêu đề cho TitledPane.
|
String
|
getText()
|
Trả về nội dung tiêu đề của TitledPane.
|
void
|
setContent(node value)
|
Thêm thành phần vào layout của TitlePane.
|
Node
|
getContent()
|
Trả về thành phần trong layout của titlePane.
|
void
|
setAnimated(boolean value)
|
Chỉ
ra tính năng mở hoặc đóng layout như thế nào, nếu value = false sẽ loại
bỏ hiệu ứng động, ngược lại value=true (mặc định) bổ sung hiệu ứng
động khi mở hoặc đóng layout.
|
void
|
setCollapsible(boolean value)
|
Mặc
định là true. Khi value= false, nếu layout đang mở thì không thể đóng
được. Khi value = false, nếu layout đang đóng thì không thể mở được.
|
3. Một số phương thức dành cho Accordion :
kiểu trả về
|
Phương thức
|
Miêu tả
|
void
|
setExpandedPane(TitledPane value)
|
Thiết lập TitledPane nào hiện tại được mở.
|
TitledPane
|
getExpanededPane()
|
Trả về TitledPane đang được mở.
|
ObservableList <TitledPane>
|
getPanes()
|
Lấy ra danh sách các TitledPane trong Accordion được lưu dưới dạng ObservableList. Đối tượng ObservableList này sử dụng để :
- Thêm các TitledPane vào ObservableList.
Vd: accordion.getPanes().add(titledPane);
- Xóa các TitlePane có trong ObservableList.
Vd: accordion.getPanes().remove(0); // xóa titledPane ở vị trí 1.
…
|
ObjectProperty
<TitledPane>
|
expandedPaneProperty()
|
Bổ sung thêm tính năng khi 1 titledPane được mở. ví dụ, bổ sung event khi 1 titledPane được chọn mở.
accordion.expandedPaneProperty().addListener (…)
|
IXX. Menu :
1 menu gồm có :
- Thanh MenuBar.
- Trên thanh MenuBar bao gồm các Menu.
- Mỗi Menu bao gồm các Menu và MenuItem. Có các loại MenuItem :
+ MenuItem : bao gồm text, hình ảnh và phím kết hợp với nó.
+ SeparatorMenuItem : chỉ là thanh ngăn cách giữa các menuItem khác.
+ RadioMenuItem và CheckMenuItem : hoạt động giống như RadioButton và CheckBox.
+ CustomMenuItem : cho phép bất kỳ 1 thành phần nào đó được nhúng vào. Ví dụ : slider, processBar, ….
1. Tạo 1 Menu :
// tạo thanh MenuBar
MenuBar menuBar = new MenuBar();
// tạo Menu File
Menu menuFile = new Menu("File");
// tạo MenuNew
Menu menuNew = new Menu("New");
// tạo MenuItem New File
MenuItem itemNewFile = new MenuItem("New File",new ImageView("NewFile.png"));
// tạo MenuItem New Project
MenuItem itemNewPro = new MenuItem("New Project", new ImageView("NewPro.png"));
// thêm các MenuItem vào menu New
menuNew.getItems().addAll(itemNewFile,new SeparatorMenuItem(), itemNewProject);
// tạo MenuItem Save
MenuItem itemSave = new MenuItem("Save");
itemSave.setAccelerator(KeyCombination.keyCombination("Ctrl + S"));
// tạo MenuItem Save As
MenuItem itemSaveAs = new MenuItem("Save as");
// tạo 1 CustomMenuItem
CustomMenuItem itemSlider = new CustomMenuItem(new Slider());
// tạo MenuItem Exit
MenuItem itemExit = new MenuItem("Exit");
itemExit.setAccelerator(KeyCombination.keyCombination("Ctrl + X"));
// thêm các MenuItem vào menu File
menuFile.getItems().addAll(menuNew, new SeparatorMenuItem(),
itemSave, itemSaveAs, itemSlider ,
new SeparatorMenuItem(), itemExit);
// tạo Menu Edit và menu View
Menu menuEdit = new Menu("Edit");
Menu menuView = new Menu("View");
// thêm các menu vào menuBar
menuBar.getMenus().addAll(menuFile, menuEdit, menuView);
|
2. Một số phương thức dành cho MenuBar:
kiểu trả về
|
Phương thức
|
Miêu tả
|
ObservableList<Menu>
|
getMenus()
|
Trả
về đối tượng ObservableList chứa tất cả các đối tượng Menu của MenuBar.
Sử dụng đối tượng ObservableList này, chúng ta có thể thực hiện bất cứ
hành động gì về các Menu trên MenuBar.
- Thêm Menu vào MenuBar
- Xóa tất cả cả Menu
Vd: menuBar.getMenus().clear();
- Xóa 1 Menu nào đó
Vd: menuBar.getMenus().remove(1);
- Bổ sung event khi có sự thay đổi số lượng Menu trong ObservableList
Vd: menuBar.getMenus().addListener(…)
…
|
void
|
setTooltip(Tooltip value)
|
Thiết lập tooltip cho menubar
Vd: menuBar.setTooltip(new Tooltip("Menu Bar"));
|
3. Một số phương thức dành cho Menu:
kiểu trả về
|
Phương thức
|
Miêu tả
|
ObservableList<MenuItem>
|
getItems()
|
Trả
về đối tượng ObservableList chứa tất cả các đối tượng MenuItem của
Menu. Sử dụng đối tượng ObservableList này, chúng ta có thể thực hiện
bất cứ hành động gì về các MenuItem trong Menu.
- Thêm MenuItem vào Menu
- Xóa tất cả cả MenuItem
Vd: menu.getItems().clear();
- Xóa 1 MenuItem nào đó
Vd: menu. getItems ().remove(1);
- Bổ sung event khi có sự thay đổi số lượng MenuItem trong ObservableList
Vd: menu.getItems().addListener(…)
…
|
void
|
setText(String value)
|
Text hiển thị trong Menu
|
String
|
getText()
|
Trả về text của Menu
|
void
|
setGraphic(Node value)
|
Bổ sung hình ảnh vào Menu
|
4. Một số phương thức dành cho MenuItem:
kiểu trả về
|
Phương thức
|
Miêu tả
|
void
|
setAccelerator( KeyCombination value)
|
Chỉ ra phím thay thế hành động click chuột trên MenuItem
|
void
|
setDisable(boolean value)
|
Nếu value=true, vô hiệu hóa tính năng click chuột trên MenuItem
|
void
|
setGraphic(Node value)
|
Bổ sung hình ảnh vào MenuItem
|
void
|
setText(String value)
|
Text hiển thị trong MenuItem
|
String
|
getText()
|
Trả về text của MenuItem
|
void
|
setVisible(boolean value)
|
Nếu value=false, ẩn MenuItem trên màn hình.
|
void
|
setOnAction( EventHandler<Action> value)
|
Thiết lập event click chuột trên MenuItem.
Vd: itemNew.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
Stage newStage = new Stage();
newStage.show();
}
});
|
Không có nhận xét nào:
Đăng nhận xét