import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; //import javafx.geometry.Side; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.control.SplitMenuButton; import javafx.scene.control.MenuItem; import javafx.geometry.NodeOrientation; import javafx.geometry.Side; public class MenuButtonSample extends Application { static SplitMenuButton cb; private void init(Stage primaryStage) { Group root = new Group(); primaryStage.setResizable(false); primaryStage.setScene(new Scene(root, 150, 100)); //primaryStage.getScene().setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT); cb = new SplitMenuButton(); cb.getItems().addAll(new ActionItem("Dog"), new ActionItem("Horse"), new ActionItem("Cat"), new ActionItem("Monkey"), new ActionItem("Rabbit")); cb.setText("Rabbit"); cb.setPopupSide(Side.LEFT); root.getChildren().add(cb); } public double getSampleWidth() { return 150; } public double getSampleHeight() { return 100; } @Override public void start(Stage primaryStage) throws Exception { init(primaryStage); primaryStage.show(); } public static void main(String[] args) { launch(args); } class ActionItem extends MenuItem { public ActionItem(String str) { super(str); setOnAction(new EventHandler() { public void handle(ActionEvent t) { System.out.println(getText()); cb.setText(getText()); } }); } } }