JScrollBar

Status
Nicht offen für weitere Antworten.

raffnix

Bekanntes Mitglied
Hallo !
Ich teste ein wenig mit einer JList rum.
Wie auf vielen pages empfohlen habe ich auch eine JScrollBar eingebaut.
und JUHU sie funktioniert.
naja nicht gabz so wie geplant.
Also:
Die JList ist auf einem JPanel.

zuerst habe ich probiert die JList in die ScrollBar zu packen.
wird ja akzeptiert...
allerdings wird mir dann kein ScrollBalken gezeigt.
also habe ich das JPanel in die ScrollBar gesteckt. nun wird mir auch ein scroll angezeigt. aber -- OH nein --
die JListe ist nicht in der Scrollbar.. ( sondern darunter)

Das verstehe ich nun nicht. JList auf JPanel . JPanel in JScrollBar. und nun die JList nicht in der jScrollBar??
Kann mir das bitte jemand erklären???
das Layouten in java ist ja noch Schlimmer als mit css oder Html.. :autsch:
 
R

Roar

Gast
raffnix hat gesagt.:
das Layouten in java ist ja noch Schlimmer als mit css oder Html.. :autsch:

nö, nur wenn man was falsch macht, und das machst du anscheinend. ich weiß nicht was du fabriziert hast aber es muss so aussehen:

Code:
JList liste = new JList();
JScrollPane scrp = new JScrollPane(lsit);
irgendwo.add(scrp);
 

mic_checker

Top Contributor
raffnix hat gesagt.:
zuerst habe ich probiert die JList in die ScrollBar zu packen.
wird ja akzeptiert...
allerdings wird mir dann kein ScrollBalken gezeigt.

Zusätzlich zu dem was Roar gepostet hat: Es ist dir schon klar das der Scrollbalken erst angezeigt wird wenn es nötig ist? ( Also wenn "zu viele" Daten drin stehen ).
 

raffnix

Bekanntes Mitglied
Ok also nur damit es für den nicht raffenden raffnix klar wird.
1. JList erstellt.
Code:
 JList list = new JList()
2. JScrollPane erstellt
Code:
 JScrollPane scroll = new JScrollPane()
3. JList in JScrollPane
Code:
 scroll.add(list)
4. JPanel erstellt
Code:
JPanel listPanel = new JPanel()
5 . JScrollPane in JPanel
Code:
listPanel.add(scroll)

Nun hab ich ja auch noch einen Container
Code:
 getContentPane().add(scroll,BorderLayout.EAST)


Ist es in etwa so gedacht???

Edit :
@mic_checker.
Jaaa . das ist mir schon klar. Ist genug drin.
habe aber zur sicher heit auch noch:

Code:
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
 

mic_checker

Top Contributor
raffnix hat gesagt.:
Code:
 JScrollPane scroll = new JScrollPane()
3. JList in JScrollPane
Code:
 scroll.add(list)

So:

Code:
JScrollPane scroll = new JScrollPane(list);

4. JPanel erstellt
Code:
JPanel listPanel = new JPanel()
5 . JScrollPane in JPanel
Code:
listPanel.add(scroll)

Nun hab ich ja auch noch einen Container
Code:
 getContentPane().add(scroll,BorderLayout.EAST)

Willst du nur JScrollPane hinzufügen oder das Panel?
 

raffnix

Bekanntes Mitglied
Willst du nur JScrollPane hinzufügen oder das Panel?

nun ja das ist die Frage. was muss ich denn hinzufügen damit es passt??

wenn ich noch ein anderes Element in das Panel sezte muss ich das Panel doch auf jeden Fall hinzufügen..

wird mir dann noch die ScrollPane angezeigt?
 

raffnix

Bekanntes Mitglied
Also so ganz hat das noch nicht geklappt.

Code:
public class Joda extends JFrame{
	File file = new File("Pics");
	 JList listbsp;
	 JPanel jListPanel;

	public Joda(){
		
		
listbsp = new JList(file.listFiles());	
	
 JScrollPane scrollist= new JScrollPane(listbsp);	
		jListPanel = new JPanel(new BorderLayout(5, 5));		
		jListPanel.add(scrollist);	 
		jListPanel.add(listbsp, BorderLayout.SOUTH);	
       getContentPane().add(jListPanel,BorderLayout.EAST);	
       getContentPane().add(scrollist,BorderLayout.EAST);
 

listbsp.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
listbsp.setSelectedIndex(0);   
scrollist.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);   
jListPanel.revalidate();      
	           
	      
	       	           
	  setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 
	  setSize(800, 600);
	  setLocation(100, 100);
	  setVisible(true);
	  
	  
	}
	
	

	public static void main(String[] args){
		new Joda();
	}
	}

Ich hab eine JList in einem ActionListener die Funktioniert Wunderbar mit scroll. Aber diese hier...
Es geht NUR um das Layout. Ich bekomm es nicht hin...
Kann mir jemand bitte die Zeilen 9-15 so Sortieren, daß die JList eine scrollbar bekommt.
Wenn dieser jemand dann auch noch Zeit findet mir zu erklären wieso sie so und nicht anders angeordnet sein müssen wäre es perfekt.
 

Illuvatar

Top Contributor
Du machst:
JList in JScrollPane
JScrollPane auf JPanel
JList in JPanel
JPanel auf ContentPane
JScrollPane auf ContentPane (und auch noch in den East-Teil, wo schon was drin ist)

Wieso fügst du alles doppelt hinzu? Dann wird es da wieder weggemacht, wo es vorher schon war.
 

raffnix

Bekanntes Mitglied
Jaaa ..
nun geht es.
weiss auch nicht was ich mir dabei dabei gedacht habe. nun hab ich es (glaub ich) verstanden.
Vielen Dank.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben