आकार TextFlow पूरी तरह से बाध्य संलग्न पाठ करने के लिए है जब फ़ॉन्ट आकार परिवर्तन

वोट
0

मैं एक StackPane पर एक TextFlow तत्व है और यह पाठ के 8 लाइनों, 80 वर्ण लंबा साथ भर जाता है। मैं फ़ॉन्ट आकार बदल सकते हैं और TextFlow बढ़ने या फ़ॉन्ट आकार में परिवर्तन के साथ पत्र व्यवहार करने हटना करने की क्षमता जोड़ने की कोशिश कर रहा हूँ। अगर मैं फ़ॉन्ट आकार को कम करने, के रूप में उम्मीद TextFlow बर्ताव करती है। अगर मैं फ़ॉन्ट आकार, पाठ की शुरुआत रैपिंग बढ़ाने के लिए और आकार सभी विकृत है।

    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());

    }

के बाद से समस्या केवल फ़ॉन्ट आकार बढ़ाने पर होता है, मुझे लगता है मैं TextFlow संलग्न ग्रंथों का आकार बदलने से पहले बड़ा बनाने के लिए करना होगा ग्रहण किया। यह काम नहीं किया है। मैं भी नया आकार पर एक डमी पाठ कर रहे हैं और उन आयामों का उपयोग कर की कोशिश की है। यह काम करने के लिए प्राप्त करने के लिए नहीं कर पा रहे। कोई सुझाव?

इमेजिस: प्रारंभिक

प्रारंभिक

प्रारंभिक

19/03/2020 को 22:01
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

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