JTextAreas peuvent afficher de grandes quantités de texte sur plusieurs lignes . Lorsqu'il est incorporé dans un JScrollPane , JTextAreas affiche une barre de défilement pour permettre à l'utilisateur de visualiser des données qui ne correspondent pas à la zone d'affichage du composant. Vous pouvez programmer votre JScrollPane hésiter , puis faire défiler automatiquement avec une simple boucle et le contrôle du fil de base. Vous pouvez personnaliser la quantité de temps que votre programme hésite et à quelle vitesse il défile . Instructions 1 Créer un nouveau JScrollPane et ajoutez votre JTextArea à elle avec le code suivant : JScrollPane scrollpane = new javax.swing.JScrollPane (); scrollPane.setViewportView ( textArea ) ; changement » textArea " pour le nom de votre JTextArea . Modifiez la ligne de code dans votre programme vous permet d'ajouter votre JTextArea à son objet parent pour ajouter l'objet JScrollPane appelé " scrollpane " à la place. 2 créer trois variables entières pour stocker le temps de hésitation en quelques secondes avant la autoscrolls JTextArea , le temps de retard en secondes entre chaque rouleau et le nombre de lignes du JTextArea doit se déplacer à chaque fois qu'il autoscrolls . Utilisez le code suivant : int hesitationTime = 5; int delayTime = 1; int scrollIncrement = 10; 3 Créer une nouvelle instruction Try ... Catch pour attraper BadLocationExceptions et InterruptedExceptions avec le code suivant : try { } catch ( BadLocationException ex) { System.out.println ("location Invalid scroll ");} catch ( InterruptedException ex) { System.out.println ( "Thread interrompu ");} 4 Ajoutez le code suivant après la parenthèse d'ouverture dans la déclaration Essayez de provoquer le programme d'attendre pendant un certain temps avant de commencer à défiler le JTextArea : Thread.sleep ( hesitationTime * 1000 ) ; 5 entrer dans la boucle suivante immédiatement en dessous de la ligne de code précédente pour faire défiler la zone de texte à des intervalles spécifiés : for (int i = 0; i < textArea.getLineCount (); i + = scrollIncrement ) { Thread.sleep ( delayTime * 1000 ) ; textArea.setCaretPosition ( textArea.getLineEndOffset ( i) - 1); } 6 Faites défiler jusqu'à la fin de la JTextArea . Ajoutez la ligne de code après la boucle For : Thread.sleep ( delayTime * 1000 ) ; textArea.setCaretPosition ( textArea.getLineEndOffset ( textArea.getLineCount () - 1)) ;
|