После создания моего графического интерфейса мой следующий шаг состоял в том, чтобы при нажатии кнопки можно было менять текстовое поле на соответствующий регистр.Однако ни один из способов, которые я пробовал, кажется, не демонстрирует это.
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class UpperLowerClass extends Application {
private Button upperButton;
private Button lowerButton;
private String userText;
private TextField userInput;
private Stage window;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
window = primaryStage;
window.setTitle("Uppercase to Lowercase");
//GRID
GridPane grid = new GridPane();
grid.setPadding(new Insets(10, 10, 10, 10));
grid.setVgap(10);
grid.setHgap(10);
//UPPERCASE BUTTON
upperButton = new Button("Uppercase");
upperButton.setOnAction(this::changeTextButton);
GridPane.setConstraints(upperButton, 0, 0);
//LOWERCASE BUTTON
lowerButton = new Button("Lowercase");
lowerButton.setOnAction(this::changeTextButton);
GridPane.setConstraints(lowerButton, 0, 1);
//TEXTFIELD
TextField userInput = new TextField();
userInput.getText();
userInput.setText(String.valueOf(userText));
GridPane.setConstraints(userInput, 0, 2);
grid.getChildren().addAll(upperButton, lowerButton, userInput);
//SCENE
Scene myScene = new Scene(grid, 300, 250);
window.setScene(myScene);
window.show();
primaryStage.setScene(myScene);
primaryStage.show();
}
//EVENT
public void changeTextButton(ActionEvent event)
{
if (event.getSource() ==upperButton) {
userText = userText.toUpperCase();
}
if (event.getSource() ==lowerButton) {
userInput.setText(String.valueOf(userText.toLowerCase()));
}
}
}
Должна быть проблема с тем, как я получаю текст, или это полностью из-за манипуляций, которые я пытаюсь сделать в Ifзаявления?Каждая кнопка - это две версии, которые я попробовал, что наводит меня на мысль, что я неправильно извлекаю текст или неправильно манипулирую.Заранее спасибо!