Resize TextFlow tökéletesen kötött zárt szöveg ekkor betűméret változások

szavazat
0

Van egy TextFlow elem egy StackPane és lakott a 8 soros szöveg 80 karakter hosszú. Próbálom felvenni képes megváltoztatni a betűméretet és a TextFlow növekszik vagy csökken, hogy az megfeleljen a megváltozott betűméretet. Ha csökkenti a betűméretet, a TextFlow viselkedik, mint várták. Ha növelni a betűméretet, a szöveg kezdő csomagoló és a mérete minden deformálódott.

    public List<Text> lines = new ArrayList<>();

    public void testTerminal()
    {

        for (int x = 0; x < 8; x++)
        {
            Text t = new Text(123567890123456789012345678901234567890123567890123456789012345678901234567890\n);
            t.setFont(Font.font(Monospaced, 14));
            t.setFill(Color.WHITE);
            t.setWrappingWidth(Double.MAX_VALUE);
            lines.add(t);
        }

        this.terminal.getChildren().addAll(lines);

        terminal.setMinHeight(lines.get(0).getBoundsInLocal().getHeight()*8.0);
        terminal.setMaxHeight(lines.get(0).getBoundsInLocal().getHeight()*8.0);

        terminal.setMinWidth(lines.get(0).getBoundsInLocal().getWidth());
        terminal.setMaxWidth(lines.get(0).getBoundsInLocal().getWidth());
    }

    public void changeFontSize(int size)
    {


        // grow the TextFlow much larger than it should need to be
        // for the new font size.
        terminal.setMinHeight(lines.get(0).getBoundsInLocal().getHeight()*16.0);
        terminal.setMaxHeight(lines.get(0).getBoundsInLocal().getHeight()*16.0);

        terminal.setMinWidth(lines.get(0).getBoundsInLocal().getWidth()*10);
        terminal.setMaxWidth(lines.get(0).getBoundsInLocal().getWidth()*10);


        for (Text t: lines)
        {
            t.setFont(Font.font(Monospaced, size));
        }

        terminal.setMinHeight(lines.get(0).getBoundsInLocal().getHeight()*8.0);
        terminal.setMaxHeight(lines.get(0).getBoundsInLocal().getHeight()*8.0);

        terminal.setMinWidth(lines.get(0).getBoundsInLocal().getWidth());
        terminal.setMaxWidth(lines.get(0).getBoundsInLocal().getWidth());

    }

Mivel a probléma csak akkor történik növelésére betűméret, feltételeztem azt kellett volna, hogy a TextFlow nagyobb átméretezés előtt a mellékelt szövegeket. Ez nem működött. Én is próbáltam csinál egy dummy szöveget az új méretet és használja ezeket a méreteket. Nem úgy tűnik, hogy ez a munka. Minden tanácsot?

Kép: kezdeti

Kezdeti

Kezdeti

A kérdést 19/03/2020 22:01
a forrás felhasználó
Más nyelveken...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more