JScrollPane nicht scrollbar (mit KSKB!)

TimeIsTheKey

Aktives Mitglied
Hallo

Ich hab wieder ein Problem mit JScrollBars ... Irgendwie sitze ich gerade auf dem Schlauch. Ist auch ein bisschen spät. Meine JScrollPanes sind nicht richtig scrollbar. Irgendwas beim setzen der Grössen mache ich falsch, aber auch nach rumspielen bin ich nicht darauf gekommen was (sowohl Haupt JPanel als auch TextArea ...). Sieht jemand das Problem?

Hier ein Beispiel Programm

Code:
import java.awt.Dimension;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
import javax.swing.WindowConstants;


public class Beispiel1 extends JFrame{

	private static final long serialVersionUID = 1938670911753068875L;
	
	JPanel panel1;
	JScrollPane spane1;
	
	public Beispiel1(){
		initComponents();
	}
	
	public void initComponents(){
		this.setLayout(null);
		this.setSize(700,835);
        this.setLocationRelativeTo(null);
        this.setResizable(false);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
           
        panel1 = new JPanel();
        panel1.setSize(this.getSize());
        panel1.setPreferredSize(new Dimension(panel1.getWidth() + 40, panel1.getHeight()));
        panel1.setLocation(0,0);
        
        doExample(panel1);
        
        panel1.setPreferredSize(panel1.getSize());
        
        spane1 = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        spane1.setViewportView(panel1);
		spane1.getVerticalScrollBar().setUnitIncrement(10);
		spane1.getHorizontalScrollBar().setUnitIncrement(10);
		spane1.setSize(this.getSize());
        
        this.add(spane1);
		
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
	}
	
	public void doExample(JPanel panel){
			ArrayList<String> stupid = new ArrayList<String>();
			String bsp1 = "Hallo";
			
			fillArrayList(stupid,bsp1);
			
			int start_x = 5;
			int start_y = 5;
			
			panel.setLayout(null);
			
			for (int i = 0; i < stupid.size(); i++) {
				JLabel temp = new JLabel(stupid.get(i));
				JScrollPane stemp = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
				JTextArea ttemp = new JTextArea(5, 30);

				ttemp.setLineWrap(true);
				ttemp.setWrapStyleWord(true);
				stemp.setViewportView(ttemp);

				temp.setBounds(start_x, start_y, (int) temp	.getPreferredSize().getWidth(), (int) temp.getPreferredSize().getHeight());
				start_y += (temp.getHeight() + 10);
				stemp.setBounds(start_x, start_y, (int) ttemp.getPreferredSize().getWidth(), (int) ttemp.getPreferredSize().getHeight());
				start_y += (stemp.getHeight() + 30);

				ttemp.setPreferredSize(ttemp.getSize());
				panel.add(temp);
				panel.add(stemp);
			}
	}
	
	public void fillArrayList(ArrayList<String> list, String text){
		for(int i = 0; i < 10;i++){
			list.add(text);
		}
	}
	
	public static void main(String[] args) {
		Beispiel1 gui1 = new Beispiel1();
	}
	
}

Danke, MfG
 

Volvagia

Top Contributor
Du benutzt das Null-Layout und wunderst dich, dass es nicht geht? Der ist echt gut.
Du setzt die Pref Size der JTextAreas auf die Größe der JScrollPanes und wunderst dich, dass er dich nicht sonderlich weit scrollen lässt? Der ist noch besser.

Das Fenster hat btw. nicht ganz in meinen Bildschirm gepasst. Benutz doch pack(). Ach, geht ja nicht. :lol:
 

XHelp

Top Contributor
@Volvagia, wie man eine ScrollPane positioniert ist eigentlich völlig egal und hat auch nichts mit dem was IN der ScrollPane passiert.

@TO, wie auch schon im Chat:
Code:
ttemp.setPreferredSize(ttemp.getSize());
muss weg.
 

Volvagia

Top Contributor
Sagte ja, dass er die Pref. Size auf die Größe des ScrollPanels setzt und deshalb nicht scrollen kann. (Zumindest nicht sonderlich weit)

Es ging mir ja nicht darum, wie sie positioniert werden (abgesehen davon, dass das Fenster für meine Auflösung wirklich zu groß war) sondern, dass der LayoutManager nicht nur etwas ist, das schnell mal ein paar Komponenten auf dem Parent kleistert sondern (auch wenn es nicht sehr viel mehr ist) auch die Preferred Size zurückgibt. Die wird auf einen Null-Layout-Programm nicht sonderlich oft gebraucht, aber in einen JScrollPane ist sie wichtig. In dem Fall war es der Fehler, dass er sie überhaupt gesetzt hat und damit die PrefSize der TextArea überschrieben hat. Anderstrum muss er aber eine PrefSize setzen, falls der Komponent der scrollbar gemacht werden soll das Null-Layout hat. (Vermutlich ein JPanel.) Noch schlimmer wird es, falls auf diesen JPanel Komponenten geändert, hinzugefügt oder entfernt werden soll. Deshalb wollte ich ihm auf meine (leider nicht immer direkte und aufschlussreiche) Art sagen, dass das nicht allzulange gut gehen wird.
Imho sind mit Null-Layout JScrollPanes die am schwersten zu managenden Komponenten überhaupt. (Nicht, dass ich es benutzen würde.)
 
Zuletzt bearbeitet:

TimeIsTheKey

Aktives Mitglied
Du benutzt das Null-Layout und wunderst dich, dass es nicht geht? Der ist echt gut.
Du setzt die Pref Size der JTextAreas auf die Größe der JScrollPanes und wunderst dich, dass er dich nicht sonderlich weit scrollen lässt? Der ist noch besser.

Das Fenster hat btw. nicht ganz in meinen Bildschirm gepasst. Benutz doch pack(). Ach, geht ja nicht. :lol:

Ich bevorzuge es keinen Layout-Manager zu verwenden, wenn die Applikation nur für mich gedacht ist. Erspart mir eine Menge Arbeit und das Layout ist dann auch wirklich so wie ich es möchte (bis du das im GridBagLayout hinkriegst bin ich mit der Applikation fertig).

@Volvagia, wie man eine ScrollPane positioniert ist eigentlich völlig egal und hat auch nichts mit dem was IN der ScrollPane passiert.

@TO, wie auch schon im Chat:
Code:
ttemp.setPreferredSize(ttemp.getSize());
muss weg.

Ich war vielleicht nicht mehr im Chat, sorry. Nachdem ich das KSKB gepostet habe erhielt ich längere Zeit keine Antwort mehr und ging dann raus. Klappt nun danke.

Sagte ja, dass er die Pref. Size auf die Größe des ScrollPanels setzt und deshalb nicht scrollen kann. (Zumindest nicht sonderlich weit)

Es ging mir ja nicht darum, wie sie positioniert werden (abgesehen davon, dass das Fenster für meine Auflösung wirklich zu groß war) sondern, dass der LayoutManager nicht nur etwas ist, das schnell mal ein paar Komponenten auf dem Parent kleistert sondern (auch wenn es nicht sehr viel mehr ist) auch die Preferred Size zurückgibt. Die wird auf einen Null-Layout-Programm nicht sonderlich oft gebraucht, aber in einen JScrollPane ist sie wichtig. In dem Fall war es der Fehler, dass er sie überhaupt gesetzt hat und damit die PrefSize der TextArea überschrieben hat. Anderstrum muss er aber eine PrefSize setzen, falls der Komponent der scrollbar gemacht werden soll das Null-Layout hat. (Vermutlich ein JPanel.) Noch schlimmer wird es, falls auf diesen JPanel Komponenten geändert, hinzugefügt oder entfernt werden soll. Deshalb wollte ich ihm auf meine (leider nicht immer direkte und aufschlussreiche) Art sagen, dass das nicht allzulange gut gehen wird.
Imho sind mit Null-Layout JScrollPanes die am schwersten zu managenden Komponenten überhaupt. (Nicht, dass ich es benutzen würde.)

Die Applikation ist fertig also ging alles noch gut. Ich bin es von Web-Auftritten her gewöhnt ohne etwas wie den Layout-Manager zu arbeiten und es fällt mir auch leichter, weil das bei einem Layout-Manager manchmal Jahre dauern kann, bis man das gewünschte Resultat hat.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JTable in JScrollPane: Scrollbar wird nicht angezeigt. Java Basics - Anfänger-Themen 2
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
M JScrollPane scrollt nicht Java Basics - Anfänger-Themen 2
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
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
C JScrollPane + JTextArea scrollt nicht Java Basics - Anfänger-Themen 2
T JScrollPane funktioniert nicht Java Basics - Anfänger-Themen 7
S JScrollPane verhält sich nicht so wie gedacht Java Basics - Anfänger-Themen 2
T JScrollPane resized nicht richtig... Java Basics - Anfänger-Themen 4
N JScrollPane repaint(); geht nicht Java Basics - Anfänger-Themen 4
L JPanel vergrößern bis JScrollPane nicht mehr zu sehen Java Basics - Anfänger-Themen 7
H2SO3- JScrollPane will nicht scrollen Java Basics - Anfänger-Themen 3
J JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 4
A JScrollPane aktualisiert nicht Java Basics - Anfänger-Themen 2
S JScrollPane: Scrollbalken werden nicht angezeigt Java Basics - Anfänger-Themen 4
richis-fragen GlassPane über JScrollPane legen Java Basics - Anfänger-Themen 6
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
D JScrollPane mit TextArea Java Basics - Anfänger-Themen 5
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
L Jscrollpane nach zoomen anpassen Java Basics - Anfänger-Themen 20
T JScrollPane: Slider programmgesteuert verschieben? Java Basics - Anfänger-Themen 4
Kenan89 JScrollPane, aber kein Scrollbalken Java Basics - Anfänger-Themen 4
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
Z Label verschwindet in JScrollPane Java Basics - Anfänger-Themen 7
R JScrollPane in JTextArea benutzen Java Basics - Anfänger-Themen 10
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
_deleted Mehrere Panels untereinander im JScrollPane Java Basics - Anfänger-Themen 4
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
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
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
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
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben