JScrollBar lässt sich nicht auf minimum setzten

Status
Nicht offen für weitere Antworten.
guten tag

ich beisse mir seit einiger zeit an folgendem problem die zähne aus:
seit ich in einer JScrollPane mehrere JTextAreas eingefügt habe, lässt sich die JScrollBar nicht mehr nach oben setzen. wenn das panel geichnet wird, befindet sich die scrollbar ganz zuunterst.

hier einmal die hierarchie der komponenten:

JFrame
JPanel
JScrollPane
JPanel
mehrere Kompenten: JLabels und JTextareas

wenn ich im letzten JPanel nur JLabels einfüge, befindet sich die scrollbar bei programmbeginn zuoberst, so wie ich es gerne hätte.

auch mit meineScrollPane.getVerticalScrollBar().setValue(0) oder meineScrollPane.getVerticalScrollBar().setValue(meineScrollBar.getVerticalScrollBar.getMinimum()) kann ich die position nicht beeinflussen.

vielleicht noch ein weiterer hinweis, den ich nicht verstehe: lasse ich mir mit getValue() die position anzeigen, so wird 0 ausgegeben, obwohl sich die scrollbar zuunterst befindet.

falls jemand eine ahnung hat, wo das problem liegen könnte, wäre ich sehr dankbar für hinweise.

mit freundlichen grüssen
der erlöser...
 

André Uhres

Top Contributor
Gewöhnlich kommt JTextArea ja in eine JScrollPane für sich und kann dann normal scrollen,
weil sie dafür vorgesehen ist.
JPanel dagegen ist von Haus aus nicht scrollable.
Da muss man also "von Hand" etwas nachhelfen,
indem man dem JPanel die entsprechende PreferredSize setzt.
 
habe einmal die prefferedsize() des jpanels überprüft, die ist in ordnung. was ich nicht verstehe ist, dass alles ohne probleme klappt, wenn ich keine jtextareas eingefügt habe. kommen hingegen jtextareas hinzu, lässt sich die position der scrollbar nicht mehr ansprechen.
 
G

Gast2

Gast
Was für ein Layou benutzt du für dein JFrame und JPanel????
und wie setzt du die Position???
 
JFrame borderlayout (standard)
JPanel Flowlayout (standard)
JScrollPane
JPanel GridBagLayout

habe noch bemerkt, dass sich das problem erst ergibt, sobald ich den text in die JTextAreas setze....
 

André Uhres

Top Contributor
Bei mir funktioniert das aber problemlos:
Code:
package gui;
/*
 * ScrollDemo.java
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ScrollDemo extends JFrame {
    private JButton btOben, btUnten;
    private JLabel jLabel1;
    private JTextArea jTextArea1;
    private JPanel mainpanel;
    private JPanel panel;
    private JScrollPane scrollpane;
    private JToolBar toolbar;
    public ScrollDemo() {
        super("Scroll Demo");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(400,300);
        setLocationRelativeTo(null);
        //JComponents erzeugen:
        GridBagConstraints gridBagConstraints;
        mainpanel = new JPanel();
        scrollpane = new JScrollPane();
        panel = new JPanel();
        jLabel1 = new JLabel();
        jTextArea1 = new JTextArea();
        toolbar = new JToolBar();
        btOben = new JButton();
        btUnten = new JButton();
        //Layout:
        scrollpane.setPreferredSize(new Dimension(300, 200));
        panel.setLayout(new GridBagLayout());
        panel.setPreferredSize(new Dimension(0, 300));
        jLabel1.setText("jLabel1");
        gridBagConstraints = new GridBagConstraints();
        gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        panel.add(jLabel1, gridBagConstraints);
        jTextArea1.setLineWrap(true);
        jTextArea1.setText("JFrame borderlayout (standard)\n" +
                "JPanel Flowlayout (standard)\nJScrollPane\n" +
                "JPanel GridBagLayout\n\n" +
                "habe noch bemerkt, dass sich das problem erst ergibt, " +
                "sobald ich den text in die JTextAreas setze....");
        gridBagConstraints = new GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.gridheight = 3;
        gridBagConstraints.fill = GridBagConstraints.BOTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 3.0;
        panel.add(new JScrollPane(jTextArea1), gridBagConstraints);
        scrollpane.setViewportView(panel);
        mainpanel.add(scrollpane);
        getContentPane().add(mainpanel, BorderLayout.CENTER);
        btOben.setText("Oben");
        toolbar.add(btOben);
        btUnten.setText("Unten");
        toolbar.add(btUnten);
        getContentPane().add(toolbar, BorderLayout.NORTH);
        //Listeners:
        btOben.addActionListener(new ActionListener() {
            public void actionPerformed(final ActionEvent evt) {
                scrollpane.getVerticalScrollBar().setValue(0);
            }
        });
        btUnten.addActionListener(new ActionListener() {
            public void actionPerformed(final ActionEvent evt) {
                scrollpane.getVerticalScrollBar().setValue(panel.getPreferredSize().height);
            }
        });
    }
    public static void main(final String args[]) {new ScrollDemo().setVisible(true);}
}
 
danke für die antworten. nach stundenlangem tüfteln bin ich ich zur weisen erkenntnis gekommen, dass die scrollbar sich dorthin setzt, wo sich die zuletzt bearbeitete textarea befindet. ich habs nun so gelöst, dass ich einfach die oberste reihe ganz zuletzt bearbeite. nicht sonderlich elegant, aber es funktioniert. rätselhaft ist mir immer noch, warum man nachträglich die scrollbar nicht auf irgendeinen wert setzen kann....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Swing JScrollBar AWT, Swing, JavaFX & SWT 2
V JScrollBar soll weiterscrollen, wenn Inhalt von JTextArea erweitert wird AWT, Swing, JavaFX & SWT 7
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3
R Swing JScrollBar mit JTextField koppeln AWT, Swing, JavaFX & SWT 3
P JScrollBar designen oder unsichtbar machen AWT, Swing, JavaFX & SWT 10
G Swing Value von einer JScrollBar auf eine andere übertragen AWT, Swing, JavaFX & SWT 2
T Swing JScrollBar fetter machen? AWT, Swing, JavaFX & SWT 2
H JScrollBar nicht verstellbar AWT, Swing, JavaFX & SWT 2
B Swing JScrollBar in einem JPanel mit FlowLayout AWT, Swing, JavaFX & SWT 15
A Swing JPanel in JScrollBar scrollbar machen AWT, Swing, JavaFX & SWT 4
D Swing JScrollbar ganz nach unten scrollen AWT, Swing, JavaFX & SWT 2
A JScrollBar durch Button ersetzten AWT, Swing, JavaFX & SWT 2
xehpuk Swing JScrollBar wird nicht eingeblendet, wenn JTable befüllt wird AWT, Swing, JavaFX & SWT 4
B Swing JScrollPane - observen wann eine JScrollBar angezeigt wird? AWT, Swing, JavaFX & SWT 5
V Position der JScrollBar ändern AWT, Swing, JavaFX & SWT 5
N Swing JTextArea/JScrollpane: JScrollbar position AWT, Swing, JavaFX & SWT 8
D Swing JScrollbar zentrieren AWT, Swing, JavaFX & SWT 3
Asamandra Benutzerdefinierte JScrollBar AWT, Swing, JavaFX & SWT 4
1 Eigene Component in JScrollBar + fixe Linien??? AWT, Swing, JavaFX & SWT 2
Pithecanthropus Swing JScrollBar-Position festlegen.. AWT, Swing, JavaFX & SWT 3
R JScrollBar - Immer drei Zeilen weiter AWT, Swing, JavaFX & SWT 10
R JScrollBar mit eigenem look and feel AWT, Swing, JavaFX & SWT 6
C JScrollpane eigenen jScrollBar einfügen AWT, Swing, JavaFX & SWT 2
R JScrollBar / JScrollPane: Ermitteln ob ganz unten AWT, Swing, JavaFX & SWT 2
F JScrollbar Verschiebung des Viewport ermitteln AWT, Swing, JavaFX & SWT 3
M JScrollbar + JTable + Zeilen wie in Excel hinzufügen AWT, Swing, JavaFX & SWT 14
M JScrollbar + Adjustmentlistener + Button AWT, Swing, JavaFX & SWT 3
M Listener für Button auf JScrollbar AWT, Swing, JavaFX & SWT 10
J JScrollBar scroll-Verhalten auf 2 JButtons umleiten? AWT, Swing, JavaFX & SWT 2
T JScrollbar UI verändern AWT, Swing, JavaFX & SWT 5
D Problem mit JScrollBar, AutoScroll und JTextArea AWT, Swing, JavaFX & SWT 2
B horizontale bzw. vertikale JScrollBar breite von JScrollPane AWT, Swing, JavaFX & SWT 5
loadbrain Mehrer Panesl: JScrollBar, JScrollPane? AWT, Swing, JavaFX & SWT 9
K JTextArea + JScrollBar AWT, Swing, JavaFX & SWT 11
B Setzen von Position > 90 bei JScrollbar nicht möglich AWT, Swing, JavaFX & SWT 3
V Farben setzen bei einigen Komponenten (JScrollBar, . AWT, Swing, JavaFX & SWT 3
P Breite eines JScrollbar vergrößern, aber wie? AWT, Swing, JavaFX & SWT 8
M JScrollbar bei einer JTable AWT, Swing, JavaFX & SWT 5
L JScrollBar AWT, Swing, JavaFX & SWT 3
B Problem mit der Kombination von JScrollBar und JTextArea AWT, Swing, JavaFX & SWT 2
S Anzeige-Wirrwar in JScrollbar AWT, Swing, JavaFX & SWT 3
B Listener entfernen bei JScrollbar AWT, Swing, JavaFX & SWT 6
S e(fx)clipse erscheint nicht im Marketplace, lässt sich nicht installieren AWT, Swing, JavaFX & SWT 16
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
M Umwandlung in den HSV-Farbraum lässt die Grafik pixelig werden AWT, Swing, JavaFX & SWT 8
R Textfield lässt sich nicht positionieren AWT, Swing, JavaFX & SWT 1
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
ralfb1105 JavaFX Label lässt sich innerhalb service Task nicht updaten? AWT, Swing, JavaFX & SWT 22
P Gui lässt sich nicht starten AWT, Swing, JavaFX & SWT 10
R JavaFX lässt sich nicht in Eclipse einbinden AWT, Swing, JavaFX & SWT 4
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
T .jar-Datei lässt sich unflexibler ausführen als über die IDE AWT, Swing, JavaFX & SWT 11
D JavaFX Label lässt sich nicht mehrmals färben AWT, Swing, JavaFX & SWT 7
D Java Swing, Label lässt sich nicht mit Checkboxen/Knopf verändern AWT, Swing, JavaFX & SWT 2
W JTextfield - Wert lässt sich nicht setzen AWT, Swing, JavaFX & SWT 3
kaoZ Swing JFrame lässt sich nicht über dispose() abbauen AWT, Swing, JavaFX & SWT 0
F textarea lässt panel verschwinden AWT, Swing, JavaFX & SWT 4
A Panel lässt sich nicht bewegen AWT, Swing, JavaFX & SWT 2
M JavaFX WebView lässt sich nur einmal öffnen AWT, Swing, JavaFX & SWT 2
S JPanel lässt die CPU heisslaufen AWT, Swing, JavaFX & SWT 3
W Swing JButton lässt sich nicht anzeigen AWT, Swing, JavaFX & SWT 8
B setCursor() lässt Cursor ganz verschwinden AWT, Swing, JavaFX & SWT 9
D JSplitPane lässt sich nicht verschieben AWT, Swing, JavaFX & SWT 3
T jTable Spaltenbreite lässt sich nicht ändern AWT, Swing, JavaFX & SWT 8
J Swing Fenster lässt sich nach Schließung nicht wieder öffnen AWT, Swing, JavaFX & SWT 4
N Swing FileFilter lässt JTree sich nicht öffnen AWT, Swing, JavaFX & SWT 2
qwerqer Swing JDialog Darstellungsprobleme - Dialog lässt sich nicht schließen AWT, Swing, JavaFX & SWT 3
R Durch Listener lässt sich Programm nicht mehr ausführen AWT, Swing, JavaFX & SWT 4
Burny91 Swing Vertical JSplitPane lässt sich nicht nach rechts verschieben AWT, Swing, JavaFX & SWT 2
J Hintergrundbild des JFrames lässt Textboxen verschwinden? AWT, Swing, JavaFX & SWT 4
W pack() lässt Ränder AWT, Swing, JavaFX & SWT 3
M Swing [JTextPane] Cursor lässt sich nicht mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 3
A JToolbar lässt sich aus dem Fenster lösen AWT, Swing, JavaFX & SWT 2
D Swing Button lässt sich nicht drücken AWT, Swing, JavaFX & SWT 5
B Heavyweight Popup lässt keine MouseEvents durch AWT, Swing, JavaFX & SWT 2
G JFormattedTextField lässt sich nicht mehr leeren AWT, Swing, JavaFX & SWT 4
X RCP/SWT/JFace: Sprache lässt sich nicht ändern AWT, Swing, JavaFX & SWT 3
P jTable mit Model lässt sich nicht neu laden AWT, Swing, JavaFX & SWT 5
A Problem mit JList! Textfarbe lässt sich nicht ändern! AWT, Swing, JavaFX & SWT 7
K Fenster lässt sich nicht schließen =( AWT, Swing, JavaFX & SWT 16
H JSplitPane lässt sich nicht über rechtes Panel ziehen AWT, Swing, JavaFX & SWT 2
TheJavaKid font lässt sich bei der jtextarea nur einmal ändern AWT, Swing, JavaFX & SWT 3
G Menue lässt sich nicht einschalten AWT, Swing, JavaFX & SWT 3
F SWT Dialog lässt sich nur einmal öffnen AWT, Swing, JavaFX & SWT 3
H Tabsize in JTextArea lässt sich nicht ändern AWT, Swing, JavaFX & SWT 3
T Color lässt sich nicht verändern AWT, Swing, JavaFX & SWT 3
M frame lässt sich nicht schliessen AWT, Swing, JavaFX & SWT 7
K Programm lässt sich nicht beenden AWT, Swing, JavaFX & SWT 9
Juelin Javafx hängt sich auf AWT, Swing, JavaFX & SWT 31
I JavaFX Programmcode pausieren gestaltet sich als schwierig AWT, Swing, JavaFX & SWT 7
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
berserkerdq2 Skalieren sich javafx objekte automatisch auf die Bildschirmgröße AWT, Swing, JavaFX & SWT 6
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
K Textarea aktuallisiert sich nicht, nach Auswahl (Itemlistener) AWT, Swing, JavaFX & SWT 3
A TableView updatet sich nicht AWT, Swing, JavaFX & SWT 3
M Wieso verändert sich die Framerate nach erneutem Starten des AnimationTimer? AWT, Swing, JavaFX & SWT 18
J JOptionPane ruft sich selbst immer wieder neu auf AWT, Swing, JavaFX & SWT 3
P Swing Programm hängt sich bei Buttondruck auf? (GUI für "Chatbot" erstellen) AWT, Swing, JavaFX & SWT 15
R JOptionPane schließt sich nicht wieder AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben