Как мне остановить фокусировку ScrollPane от изменения размера текста моих ярлыков?
Я делаю копию этого калькулятора автокредита в JavaFX.
Почти все работает, как задумано
Пока фокус ScrollPane не сфокусируется , заголовок и текст на правой стороне будут изменены
Краткое описаниемакет
Итак, проблема в том, что размер текста моих ярлыков изменяется, когда ScrollPane получает фокус.Я попытался исправить это, настроив свойства ScrollPane, макеты, содержащиеся в ScrollPane, и сами метки.Я также искал, задавался ли подобный вопрос раньшеЯ пока ничего не нашел.
Спасибо
Редактировать:
Добавил некоторый код, я старался сделать его как можно более минимальным.Если вы сфокусируете TextField, весь текст Label будет иметь такой размер, как ожидалось.Если вы сфокусируете ScrollPane, большой синий текст будет уменьшаться в соответствии с меньшим черным текстом.Очевидно, в этом примере нет необходимости прокручивать, но он все еще показывает проблему, с которой я столкнулся в моем проекте, которая требует прокрутки.
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.control.ScrollPane.ScrollBarPolicy;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.stage.Stage;
public class Main extends Application
{
public static void main(String[] args)
{
launch(args);
}
@Override
public void start(Stage primaryStage)
{
Stage stage = primaryStage;
HBox myHBox = new HBox();
Label smallerText = new Label("this is small\ntext");
smallerText.setStyle("-fx-font-weight: bold");
smallerText.setTextFill(Color.web("#000000"));
smallerText.setFont(Font.font("Leelawadee UI", FontPosture.REGULAR, 12));
Label biggerText = new Label("this is big\ntext");
biggerText.setStyle("-fx-font-weight: bold");
biggerText.setTextFill(Color.web("#005FBA"));
biggerText.setFont(Font.font("Leelawadee UI", FontPosture.REGULAR, 24));
TextField myTextField = new TextField();
myHBox.getChildren().addAll(smallerText, biggerText);
VBox myVBox = new VBox();
myVBox.getChildren().addAll(myHBox, myTextField);
ScrollPane myScrollPane = new ScrollPane(myVBox);
myScrollPane.setHbarPolicy(ScrollBarPolicy.NEVER);
myScrollPane.setVbarPolicy(ScrollBarPolicy.ALWAYS);
Scene scene = new Scene(myScrollPane);
stage.setScene(scene);
stage.show();
}
}
Снова отредактируйте:
Проблема была решена.Спасибо!:)