Comment lire plusieurs lignes de texte à partir d'un fichier .txt, sélectionner celles qui contiennent une certaine chaîne et enfin les ajouter à une fenêtre JavaFX en tant que texte en lecture seule?Impression dans une fenêtre JavaFX
Je sais comment sélectionner les lignes qui contiennent une chaîne spécifique, mais je ne sais pas comment retourner plusieurs lignes de texte ou comment ajouter une quantité variable de texte à une étiquette
J'ai besoin du produit fini pour afficher comme ceci:
String1a, String2a,...\n
String1b, String2b,...\n
-or-
String1a
String2a
\n
String1b
String2b
.
.
.
actuellement, il n'affiche comme la deuxième option, mais il est tout « nul » est ici une partie de mon code:
bt4.setOnAction(
new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent e) {
VBox vb3 = new VBox();
if(dent == true) {
a = dentist.selectAppt(id.getText());
for(int i=0; i< 4;i++) {
System.out.println(a[i]);
}
Label app = new Label(WORDS);
app.setWrapText(true);
vb3.getChildren().add(app);
}
if(dent == false) {
//TODO
}
Stage stage = new Stage();
vb3.setSpacing(10);
BorderPane p = new BorderPane();
Pane p1= new Pane();
p1.getChildren().add(vb3);
p.getChildren().add(p1);
Scene scene2 = new Scene(p,500,500);
stage.setScene(scene2);
stage.show();
}
});
}
private final String WORDS =
a[0]+"\n" +
a[1]+"\n" +
a[2]+"\n" +
a[3]+"\n";
public static void main(String[] args) {
launch(args);
}
}
Et ceci est la méthode qui sélectionne les tableaux de chaîne à partir d'un fichier txt:
public String[] selectAppt(String s) {
String[] sa = new String[4];
try {
Scanner scan = new Scanner(file2);
while(scan.hasNextLine()) {
String line = scan.nextLine();
if(line.contains(s)) {
//System.out.println(line);
StringTokenizer st = new StringTokenizer(line,":");
pid = st.nextToken();
appt = st.nextToken();
did = st.nextToken();
pcode = st.nextToken();
sa[0] = pid;
sa[1] = appt;
sa[2] = did;
sa[3] = pcode;
//System.out.println("\tPatient ID:\t"+pid);
//System.out.println("\tTime and Date:\t"+appt);
//System.out.println("\tDentist ID:\t"+did);
//System.out.println("\tProcedure:\t"+pcode);
//System.out.println();
}
}}
catch (FileNotFoundException e) {
System.out.println("error");
}
return sa;
}
La façon dont il est actuellement, il retourne à seulement 1 ligne de texte se termine alors. Je dois changer cela mais je ne sais pas comment.
fonctionne parfaitement! Merci de votre aide. Probablement la réponse la plus festive que j'ai jamais reçue. – HooperDeuced