Skip to Main Content

Chinese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

No record in F43121

User495632-OCOct 23 2016

Hello,

Recently I suffered a problem. A material is received into stock, it has cardex in F4111 and qty on hand in F41021 is correct. And it also has records in F0911. But could not find records in F43121,that means I could not perform the 3 ways match. How to fix it?

Thanks

Rachel

Comments

bouye-JavaNet
Answer

It's not that hard to do it:

public class Main extends Application {

    @Override

    public void start(final Stage primaryStage) {

        // Creates items for menu button.

        final ToggleGroup toogleGroup = new ToggleGroup();

        final MenuItem[] menus = IntStream.range(0, 10)

                .mapToObj(index -> {

                    final RadioMenuItem menuItem = new RadioMenuItem();

                    menuItem.setText(String.format("Radio #%d", index + 1));

                    menuItem.setToggleGroup(toogleGroup);

                    menuItem.setOnAction(event -> System.out.printf("Action -> %s%n", menuItem.getText()));

                    return menuItem;

                })

                .toArray(MenuItem[]::new);

        toogleGroup.getToggles().get(0).setSelected(true);

        // Creates menu button.

        final SplitMenuButton splitMenuButton = new SplitMenuButton();

        // Forward action to selected item when button is clicked.

        // Works ok but logs warnings when the selected toggle is briefly null when the selection changes.

//        splitMenuButton.onActionProperty().bind(Bindings.select(toogleGroup.selectedToggleProperty(), "onAction"));

        // Works ok without warnings.

        splitMenuButton.setOnAction(event -> {

            Optional.ofNullable((RadioMenuItem) toogleGroup.getSelectedToggle())

                    .ifPresent(menuItem -> {

                        Optional.ofNullable(menuItem.getOnAction())

                                .ifPresent(eventHandler -> eventHandler.handle(event));

                    });

        });

        // Bind item's text to button.

        splitMenuButton.textProperty().bind(new StringBinding() {

            {

                bind(toogleGroup.selectedToggleProperty());

            }

            @Override

            public void dispose() {

                unbind(toogleGroup.selectedToggleProperty());

                super.dispose();

            }

            @Override

            protected String computeValue() {

                final RadioMenuItem menuItem = (RadioMenuItem) toogleGroup.getSelectedToggle();

                String result = (menuItem == null) ? null : menuItem.getText();

                return result;

            }

        });

        // Bind item's graphic to button.

        splitMenuButton.graphicProperty().bind(new ObjectBinding<Node>() {

            {

                bind(toogleGroup.selectedToggleProperty());

            }

            @Override

            public void dispose() {

                unbind(toogleGroup.selectedToggleProperty());

                super.dispose();

            }

            @Override

            protected Node computeValue() {

                final RadioMenuItem menuItem = (RadioMenuItem) toogleGroup.getSelectedToggle();

                final Node result = null;

                // Find a way to duplicate graphic here.

                // final Node result = (menuItem == null) ? null : duplicateGraphic(menuItem.getGraphic());

                return result;

            }

        });

        splitMenuButton.getItems().setAll(menus);

        final StackPane root = new StackPane();

        root.getChildren().add(splitMenuButton);

        final Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Test");

        primaryStage.setScene(scene);

        primaryStage.show();

    }

    public static void main(final String[] args) {

        launch(args);

    }

}

Marked as Answer by Muzib · Sep 27 2020
Muzib

Wow! works fine. I appreciate it. Thanks a lot.

@

1 - 2
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Nov 20 2016
Added on Oct 23 2016
0 comments
259 views