Задать вопрос
Ответы пользователя по тегу Java
  • Как в javaFX повернуть фигуру на 90 градусов?

    i229194964
    @i229194964
    Веб разработчик
    import javafx.application.Application;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.layout.Pane;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Line;
    import javafx.scene.transform.Rotate;
    import javafx.stage.Stage;
    
    public class RotateExample extends Application {
        @Override
        public void start(Stage primaryStage) {
            Pane pane = new Pane();
            Scene scene = new Scene(pane, 400, 400);
    
            Group group = new Group();
            pane.getChildren().add(group);
    
            // Создание фигуры (в данном случае - линии)
            Line line = new Line(100, 100, 200, 100);
            line.setStroke(Color.BLACK);
            group.getChildren().add(line);
    
            // Создание объекта Rotate
            Rotate rotate = new Rotate(90, 150, 100); // Угол поворота 90 градусов, точка вращения (150, 100)
            line.getTransforms().add(rotate);
    
            primaryStage.setScene(scene);
            primaryStage.show();
        }
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    Ответ написан
    Комментировать
  • Как вывести текст из TextField в диалоговое окно с каким то ответом на текст?

    i229194964
    @i229194964
    Веб разработчик
    Когда фокус вернется из диалогового окна на основную сцену, текстовая область снова получит фокус, что вызовет повторное появление диалогового окна. Вы можете сфокусироваться на текстовой области, чтобы избежать этого:
    address.focusedProperty().addListener(new ChangeListener<Boolean>() {
            @Override
            public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue) {
                if (newPropertyValue) {
                    System.out.println("Textfield on focus");
                    TextInputDialog dialog = new TextInputDialog("walter");
                    dialog.setTitle("Text Input Dialog");
                    dialog.setHeaderText("Look, a Text Input Dialog");
                    dialog.setContentText("Please enter your name:");
                    // Traditional way to get the response value.
                    Optional<String> result = dialog.showAndWait();
                    if (result.isPresent()) {
                        System.out.println("Your name: " + result.get());
                    }
    
                    // focus to different node on the scene
                    address.getParent().requestFocus();
                    // or mySubmitBtn.requestFocus();
    
                } else {
                    System.out.println("Textfield out focus");
                }
            }
        });

    MCVE:
    @Override
    public void start( Stage stage )
    {
        TextArea address = new TextArea();
        address.focusedProperty().addListener( new ChangeListener<Boolean>()
        {
            @Override
            public void changed( ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue )
            {
                if ( newPropertyValue )
                {
                    System.out.println( "Textfield on focus" );
                    TextInputDialog dialog = new TextInputDialog( "walter" );
                    dialog.setTitle( "Text Input Dialog" );
                    dialog.setHeaderText( "Look, a Text Input Dialog" );
                    dialog.setContentText( "Please enter your name:" );
                    // Traditional way to get the response value.
                    Optional<String> result = dialog.showAndWait();
                    if ( result.isPresent() )
                    {
                        System.out.println( "Your name: " + result.get() );
                    }
    
                    // focus to different node on the scene
                    address.getParent().requestFocus();
                    // or mySubmitBtn.requestFocus();
    
                }
                else
                {
                    System.out.println( "Textfield out focus" );
                }
            }
        } );
    
        Scene scene = new Scene( new VBox( address ), 200, 200 );
        stage.setScene( scene );
        stage.show();
    }
    Ответ написан
    Комментировать