JScrollPane verhält sich nicht so wie gedacht

S

seraphim91

Gast
Hallo zusammen,

bin gerade dabei ein Programm für die Schule ein wenig mit einer GUI aufzupeppen, aber so ganz klappt das noch nicht...
Ich möchte, dass die Textarea einen Scrollbalken bekommt, da das Erzeugte, das in das Textarea geschrieben wird, sehr viel länger sein kannt, als das Textarea groß ist!

Bisher sieht mein Code so aus:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class ta_scroll
{
    private JFrame frame;
    private JLabel lb_eingabe;
    private JTextField txt_eingabe;
    private JTextArea txta_ausgabe;
    private JButton btn_start;
    private JScrollPane sp_ausgabe;

    public ta_scroll()
    {

        //Frame erzeugen
        frame=new JFrame("Autovermietung");

        //Layoutmanager = FlowLoyout
        frame.getContentPane().setLayout(new FlowLayout());
        frame.setPreferredSize(new Dimension(420,510));

        //Objekte erzeugen und Eigenschaften setzen
        lb_eingabe=new JLabel("Anzahl zu erzeugender Fahrzeuge:");
        txt_eingabe=new JTextField();
        txt_eingabe.setPreferredSize(new Dimension(200,25));
        txta_ausgabe=new JTextArea();
        txta_ausgabe.setPreferredSize(new Dimension(400,400));
        txta_ausgabe.setLineWrap(true);
        sp_ausgabe=new JScrollPane(txta_ausgabe);
        sp_ausgabe.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        btn_start=new JButton("Erzeugen!");

    }

    public void launchFrame()
    {

        //Objekte hinzufügen
        frame.getContentPane().add(lb_eingabe);
        frame.getContentPane().add(txt_eingabe);
        frame.getContentPane().add(btn_start);
        frame.getContentPane().add(txta_ausgabe);
        frame.getContentPane().add(sp_ausgabe);

        //Java-Prozess beenden wenn Fenster verlassen wird
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        //ActionListener auf Button legen und Zielmethode zuweisen
        btn_start.addActionListener(new ActionListener()
               {
                   public void actionPerformed(ActionEvent e)
                   {
                       //Erzeugung starten
                       erzeugen();
                   }
               }
         );
         
        frame.pack();
        frame.setVisible(true);
    }

    public void erzeugen()
    {

        //Erzeugungs-Algorithmus
        
    }

}

Wenn ich das ganze so laufen lasse, bekomme ich zwar eine ScrollPane, die ist aber winzig klein und hängt unterhalb des Textareas... sitze bereits Stunden davor, aber finde diesen Fehler einfach nicht. Hilfe wäre toll :)

MfG
seraphim91
 

André Uhres

Top Contributor
Hallo seraphim91,

wir dürfen nicht die JTextArea, sondern nur JScrollPane zur GUI hinzufügen (JScrollPane enthält ja schon die JTextArea). Desgleichen dürfen wir nicht die PreferredSize der JTextArea ändern, sondern diejenige der JScrollPane. Hier habe ich außerdem die Namen gemäß den Java Coding Conventions angepasst und eine "main" Methode zum Testen hinzugefügt:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TaScroll {

    private JFrame frame;
    private JLabel lbEingabe;
    private JTextField txtEingabe;
    private JTextArea txtaAusgabe;
    private JButton btnStart;
    private JScrollPane spAusgabe;

    public TaScroll() {

        //Frame erzeugen
        frame = new JFrame("Autovermietung");

        //Layoutmanager = FlowLoyout
        frame.getContentPane().setLayout(new FlowLayout());
        frame.setPreferredSize(new Dimension(420, 510));

        //Objekte erzeugen und Eigenschaften setzen
        lbEingabe = new JLabel("Anzahl zu erzeugender Fahrzeuge:");
        txtEingabe = new JTextField();
        txtEingabe.setPreferredSize(new Dimension(200, 25));
        txtaAusgabe = new JTextArea();
        txtaAusgabe.setLineWrap(true);
        spAusgabe = new JScrollPane(txtaAusgabe);
        spAusgabe.setPreferredSize(new Dimension(400, 400));
        spAusgabe.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        btnStart = new JButton("Erzeugen!");

    }

    public void launchFrame() {

        //Objekte hinzufügen
        frame.getContentPane().add(lbEingabe);
        frame.getContentPane().add(txtEingabe);
        frame.getContentPane().add(btnStart);
//        frame.getContentPane().add(txtaAusgabe);
        frame.getContentPane().add(spAusgabe);

        //Java-Prozess beenden wenn Fenster verlassen wird
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //ActionListener auf Button legen und Zielmethode zuweisen
        btnStart.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                //Erzeugung starten
                erzeugen();
            }
        });

        frame.pack();
        frame.setVisible(true);
    }

    public void erzeugen() {
        //Erzeugungs-Algorithmus
        txtaAusgabe.append("test\n\n");
    }

    public static void main(final String... args) {
        Runnable gui = new Runnable() {

            public void run() {
                TaScroll ta_scroll = new TaScroll();
                ta_scroll.launchFrame();
            }
        };
        //GUI must start on EventDispatchThread:
        SwingUtilities.invokeLater(gui);
    }
}
Gruß,
André
 
S

seraphim91

Gast
Ah, wunderbar. Danke für den Hinweis! Habe das bisher immer so verstanden, dass die Scrollpane quasi über das Textarea "drübergelegt" wird.
Die main-Methode hatte ich in einem anderen .java-File drinstehen, deswegen stand die nicht in meinem Code drin.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
richis-fragen GlassPane über JScrollPane legen Java Basics - Anfänger-Themen 6
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
L JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 10
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
M JScrollPane scrollt nicht Java Basics - Anfänger-Themen 2
D JScrollPane mit TextArea Java Basics - Anfänger-Themen 5
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
T JScrollPane in den Code einbauen Java Basics - Anfänger-Themen 5
O JScrollPane zu gross für JTable Java Basics - Anfänger-Themen 2
A JScrollPane nicht sichtbar Java Basics - Anfänger-Themen 5
S JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 6
N jScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 13
L Jscrollpane nach zoomen anpassen Java Basics - Anfänger-Themen 20
C JScrollPane + JTextArea scrollt nicht Java Basics - Anfänger-Themen 2
T JScrollPane nicht scrollbar (mit KSKB!) Java Basics - Anfänger-Themen 4
T JScrollPane: Slider programmgesteuert verschieben? Java Basics - Anfänger-Themen 4
Kenan89 JScrollPane, aber kein Scrollbalken Java Basics - Anfänger-Themen 4
T JScrollPane funktioniert nicht Java Basics - Anfänger-Themen 7
D jScrollPane Problem Java Basics - Anfänger-Themen 16
JStickman JTree, JScrollPane, Liste mit graphischer Suchleiste - Dateimanager Java Basics - Anfänger-Themen 10
A Button das JScrollPane aktualisiert Java Basics - Anfänger-Themen 11
T JScrollPane ganz runter Scrollen Java Basics - Anfänger-Themen 4
T JScrollPane resized nicht richtig... Java Basics - Anfänger-Themen 4
Z Label verschwindet in JScrollPane Java Basics - Anfänger-Themen 7
N JScrollPane repaint(); geht nicht Java Basics - Anfänger-Themen 4
R JScrollPane in JTextArea benutzen Java Basics - Anfänger-Themen 10
L JPanel vergrößern bis JScrollPane nicht mehr zu sehen Java Basics - Anfänger-Themen 7
O JScrollPane , JScrollBar Java Basics - Anfänger-Themen 3
Z JScrollPane zeigt Zeit als Datum Java Basics - Anfänger-Themen 5
E Breite des Schiebers in JscrollPane verändern Java Basics - Anfänger-Themen 2
T JScrollPane soll rechts gescrollt gezeichnet werden Java Basics - Anfänger-Themen 5
P JScrollPane Java Basics - Anfänger-Themen 18
J JScrollPane, Regler-Problem Java Basics - Anfänger-Themen 3
J JScrollPane swing Java Basics - Anfänger-Themen 8
H JTable in JScrollPane: Scrollbar wird nicht angezeigt. Java Basics - Anfänger-Themen 2
H2SO3- JScrollPane will nicht scrollen Java Basics - Anfänger-Themen 3
_deleted Mehrere Panels untereinander im JScrollPane Java Basics - Anfänger-Themen 4
J JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 4
A JScrollPane aktualisiert nicht Java Basics - Anfänger-Themen 2
7 Java Swing: Wie JScrollPane zur JList hinzufügen? Java Basics - Anfänger-Themen 12
C jTabbedPane JScrollPane und jPanel Java Basics - Anfänger-Themen 3
S JScrollPane und JPanel Java Basics - Anfänger-Themen 2
J JScrollBar JScrollPane Java Basics - Anfänger-Themen 9
Q Anwendung eines JScrollPane Java Basics - Anfänger-Themen 2
M JScrollPane Java Basics - Anfänger-Themen 7
M Probleme mit JScrollPane Java Basics - Anfänger-Themen 5
G JScrollPane Java Basics - Anfänger-Themen 5
S JScrollPane: Scrollbalken werden nicht angezeigt Java Basics - Anfänger-Themen 4
P Brauche Hilfe für JPanel im JScrollPane und Abstände Java Basics - Anfänger-Themen 2
M VisualEditor, Jlist und JScrollPane Java Basics - Anfänger-Themen 9
M JScrollPane soll inhalt zentrieren Java Basics - Anfänger-Themen 3
C Automatischer Umbruch bei JScrollPane? Java Basics - Anfänger-Themen 5
G JScrollPane + JTable + Autoscroll uvm. Java Basics - Anfänger-Themen 5
N JScrollPane mit JTextArea Java Basics - Anfänger-Themen 4
I Autoscrolling im JScrollPane Java Basics - Anfänger-Themen 3
H JScrollPane -> Problem bei ScrollBar Java Basics - Anfänger-Themen 3
lin JScrollPane & OutOfMemoryError Java Basics - Anfänger-Themen 6
G JScrollPane in der Größe bestimmen Java Basics - Anfänger-Themen 11
R JScrollpane problem Java Basics - Anfänger-Themen 21
P JScrollPane an JTextArea anhängen Java Basics - Anfänger-Themen 3
C JScrollPane ohne Rahmen? Java Basics - Anfänger-Themen 2
M JScrollPane Java Basics - Anfänger-Themen 4
G Probleme mit JScrollPane Java Basics - Anfänger-Themen 3
M JScrollPane: Autoscroll Java Basics - Anfänger-Themen 14
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
HoloYoitsu BufferedReader verhält sich seltsam Java Basics - Anfänger-Themen 10
S Programm verhält sich in Eclipse anders, als ein eigenständiges Programm Java Basics - Anfänger-Themen 5
R Methoden Main-Methode verhält sich in .jar anders als in Eclipse Java Basics - Anfänger-Themen 2
A Graphics Objekt verhält sich merkwürdig Java Basics - Anfänger-Themen 2
M .jar file verhält sich anders... Java Basics - Anfänger-Themen 28
N Applet verhält sich anders Java Basics - Anfänger-Themen 6
L Code verhält sich in JUnit anders als in normaler Klasse Java Basics - Anfänger-Themen 2
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
E multiple Timer die sich nicht summieren Java Basics - Anfänger-Themen 12
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A Konsolenausgabe verschiebt sich Java Basics - Anfänger-Themen 8
M Wie lassen sich Konstanten in Bedingung stellen? Java Basics - Anfänger-Themen 1
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
H 36 Zufallszahlen die sich nicht wiederholen Java Basics - Anfänger-Themen 27
E Warum lässt sich eine Klasse nicht starten, wenn eine andere Klasse in dem Modul fehlerhaft ist? Java Basics - Anfänger-Themen 1
IamArctic Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr Java Basics - Anfänger-Themen 4
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
J CMD schließt sich automatisch Java Basics - Anfänger-Themen 5
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben