package javafxui;
import java.util.Properties;
import javafx.application.Application;
import javafx.beans.property.Property;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.Separator;
import javafx.scene.control.Tooltip;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class LearnChoiceBox extends Application{
@Override
public void start(Stage stage) {
Pane pane = new Pane();
HBox hBox = new HBox();
HBox hb = new HBox();
Image image = new Image("res/timg.jpg");
ImageView imageView = new ImageView();
imageView.setImage(image);
/*@1
* 创建ChoiceBox
* 第一种直接创建
* 第二种创建空的ChoiceBox 然后通过setItems() 设置 并且中间可以使用分隔符
*/
ChoiceBox cb1 = new ChoiceBox(FXCollections.observableArrayList("First","Second","Third"));
ChoiceBox cb2 = new ChoiceBox();
cb2.setItems(FXCollections.observableArrayList("New Document","Opne",new Separator(),"Save","Save as"));
/*@2
* 设置行为
* 鼠标点击对应键 显示不同问候语言
*
*/
Label label = new Label();
final String[] greetings = {"Hello", "Hola", "你好"};
final ChoiceBox cb = new ChoiceBox(FXCollections.observableArrayList("English", "Espanol","简体中文"));
cb.getSelectionModel().selectedIndexProperty().addListener((ObservableValue<? extends Number> ov, Number old_val, Number new_val)->{
label.setText(greetings[new_val.intValue()]);
});
//自动提示信息
Tooltip tooltip = new Tooltip();
tooltip.setText("Welcome to here");
cb.setTooltip(tooltip);
hBox.getChildren().addAll(cb,label);
pane.getChildren().add(hBox);
stage.setScene(new Scene(pane));
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
UI 控件 -> ChoiceBox
最新推荐文章于 2021-03-04 14:13:13 发布