Выбрать текст из GridPane

У меня есть очень простой пример GridPane.

    GridPane playerGrid = new GridPane();

    Text title = new Text("Top Scorers in English Premier League");
    title.setFont(Font.font("Arial", FontWeight.BOLD, 20));
    playerGrid.add(title, 0,0,4,1);

Как я могу выделить текст мышью и скопировать его во время работы программы?


person user1285928    schedule 06.05.2014    source источник


Ответы (1)


Узлы Text в JavaFX не выбираемый.

Если вы хотите, чтобы текст можно было выбирать, используйте элемент управления, поддерживающий выделение.

Тот факт, что текст в итоге помещается в GridPane не имеет отношения к этому вопросу.

выбираемый текст

Например, используйте TextField только для чтения:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.stage.Stage;

public class SelectableTextSample extends Application {
    @Override public void start(final Stage stage) throws Exception {
        stage.setScene(
            new Scene(
                new SelectableText(
                    "Top Scorers in English Premier League"
                )
            )
        );
        stage.show();
    }

    class SelectableText extends TextField {
        SelectableText(String text) {
            super(text);
            setEditable(false);
            setPrefColumnCount(20);
        }
    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

Альтернативное решение

Вы можете использовать WebView, если ты хочешь. Для одних ситуаций это может быть лучшим решением, а для других нет.

person jewelsea    schedule 06.05.2014
comment
Я понятия не имею, что значит не очень хорошо. Отредактируйте свой вопрос, чтобы более точно объяснить свои требования, желания и прогресс. - person jewelsea; 21.05.2014