JTextAreas können große Mengen von Text über mehrere Zeilen anzuzeigen. Wenn in einem JScrollPane eingebettet wird JTextAreas zeigen eine Bildlaufleiste, um dem Benutzer zu ermöglichen , die nicht in der Komponente Anzeigebereich passt anzuzeigen. Sie können Ihr JScrollPane zu zögern und dann automatisch blättern Sie mit einer einfachen Schleife und grundlegende Thread-Steuerung . Sie können die Höhe der Zeit , dass Ihr Programm zögert und wie schnell sie Schriftrollen. Anleitung
1
Neues JScrollPane und fügen Sie Ihre JTextArea es mit dem folgenden Code:
JScrollPane scrollPane = new javax.swing.JScrollPane (); scrollPane.setViewportView ( textArea ) ;
Change " textArea ", um den Namen Ihres JTextArea . Ändern Sie die Zeile Code in Ihrem Programm , wo Sie Ihre JTextArea hinzufügen zu seinem übergeordneten Objekt, um die JScrollPane Objekt namens " scrollPane " anstelle hinzuzufügen.
2
Erstellen Sie drei Integer-Variablen , um die Zeit in Sekunden zögern speichern vor dem JTextArea autoscrolls die Verzögerungszeit in Sekunden zwischen den einzelnen Spirale und der Anzahl der Zeilen der JTextArea bewegen sollte jedes Mal autoscrolls . Verwenden Sie den folgenden Code:
int hesitationTime = 5; int delayTime = 1; int scrollIncrement = 10;
3
Neues Try ... Catch -Anweisung zu fangen BadLocationExceptions und InterruptedExceptions mit dem folgenden Code :
try { } catch
( BadLocationException ex) { System.out.println ( "Invalid scroll location" );} catch ( InterruptedException ex) { System.out.println ( "Gewinde unterbrochen ");}
4
Fügen Sie den folgenden Code nach der öffnenden Klammer in der Try-Anweisung zu bewirken, dass das Programm für eine bestimmte Zeit vor Beginn scrollen warten die JTextArea :
Thread.sleep ( hesitationTime * 1000);
5
Geben Sie die folgende Schleife unmittelbar unterhalb der vorherigen Codezeile durch den Textbereich in festgelegten Abständen blättern:
for (int i = 0; i < textArea.getLineCount (); i + = scrollIncrement ) { Thread.sleep ( delayTime * 1000); textArea.setCaretPosition ( textArea.getLineEndOffset (i ) - 1) ; }
6
Scroll bis zum Ende des JTextArea . Fügen Sie diese Codezeile nach der For-Schleife :
Thread.sleep ( delayTime * 1000); textArea.setCaretPosition ( textArea.getLineEndOffset ( textArea.getLineCount ( ) - 1) );