Stworzyłem prosty GUI, w którym mam TextArea
. Sam plik TextArea
zostanie zapełniony przez Array
, który zawiera zeskanowane ciągi znaków z pliku .txt
.Używanie dużych plików tekstowych w JavaFX (alternatywy TextArea?)
Działa to doskonale w przypadku plików o mniejszych rozmiarach. Podczas korzystania z dużych plików (~ 5MB na txt.-plik) jednak TextArea
(i tylko TextArea
) czuje się opóźniony i powolny (nie tak wrażliwy, jak bym chciał). Czy istnieje alternatywa dla TextArea
(nie musi być w JavaFX
)?
Szukam czegoś bardzo prostego, co zasadniczo pozwala uzyskać & ustawionego tekstu. Slidercontrol
, jak w JavaFX
TextArea
, byłby bardzo przydatny.
Dziękuję i życzę udanego dnia!
Edycja: bardzo prosty przykład z mojego kodu:
public class Main extends Application {
public void start(Stage stage) {
Pane pane = new Pane();
TextField filePath = new TextField("Filepath goes in here...");
TextArea file = new TextArea("Imported file strings go here...");
file.relocate(0, 60);
Button btnImport = new Button("Import file");
btnImport.relocate(0, 30);
ArrayList<String> data = new ArrayList<>();
btnImport.setOnAction(e -> {
File fileToImport = new File(filePath.getText());
try {
Scanner scanner = new Scanner(fileToImport);
while(scanner.hasNextLine()) {
data.add(scanner.nextLine());
}
file.setText(data.toString());
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
});
pane.getChildren().addAll(filePath, file, btnImport);
Scene scene = new Scene(pane);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args){
launch();
}
}
Najwyższego kontroli danych objętość Jawa mieć „tryb wirtualne”, w celu zapewnienia tylko część danych (wymaganych rzędach). Ale nie jest to proste, np. Pobierz i ustaw –
Musisz utworzyć przykład [Minimal, Complete i Verifyable] (https://stackoverflow.com/help/mcve) i opublikuj kod. – Sedrick
@SedrickJefferson Oto przykład, jak opisano w wytycznej (edycja postu początkowego) – Matt