В Swing я создал собственный документ, который смог определить и ограничить количество строк в TextArea, была ли линия обернута или была нажата строка. Я надеялся найти что-то подобное в FX, но не смог. Любые предложения о том, как справляться с ограничением количества строк?JavaFX - Лимитные строки TextArea?
Редактировать: Вот как я пытался выяснить, сколько завернутых строк находится в TextArea. Самая большая проблема заключается в том, чтобы получить точную ширину, чтобы перейти в setWrappingWidth, потому что, кажется, есть некоторое дополнение к содержимому TextArea вместе с границами.
Text helper = new Text();
helper.setText(text);
helper.setFont(getFont());
helper.wrappingWidthProperty().bind(widthBinding);
Font font = getFont();
FontMetrics fontMetrics = Toolkit.getToolkit().getFontLoader().getFontMetrics(font);
int preferredHeight = new Double(helper.getLayoutBounds().getHeight()).intValue();
int lineHeight = new Double(fontMetrics.getMaxAscent() + fontMetrics.getMaxDescent()).intValue();
System.err.println("preferredHeight/lineHeight: " + preferredHeight/lineHeight);
return preferredHeight/lineHeight;
не '.setPrefRowCount (10);' работу? с wrapText установлено значение true? также textarea уважает его область, поэтому он пытается ее заполнить, если вы не ограничиваете его maxsize или чем-то – Elltz
Насколько я знаю, setPrefRowCount и setPrefColCount учитывают только предпочтительный размер TextArea, а не ограничение содержимого. – Tommo
Это не имеет никакого смысла. Вы не можете ожидать, что линии будут ограничены, пока вы е. г. сделайте текстовую область меньшей. Это кошмар юзабилити. Какой прецедент для этого? – Roland