Thứ Hai, 15 tháng 9, 2014

[JavaFX 8] Phần 3 (tt) : Các thành phần giao diện người dùng

Phần 3 (tt) : Các thành phần giao diện người dùng
XVIII. Titled Pand và Accordion :
p3_5_titlePane.png
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.
p3_5_Accordion.png
 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 :
p3_5_menu.png
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.
+ RadioMenuItemCheckMenuItem : 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