Swing JSplitPane Componenten ausrichten

Status
Nicht offen für weitere Antworten.

Tallan

Bekanntes Mitglied
Hallo zusammen,

ich habe einen einfachen JSplitPane in dem 2 JToolBar Componenten sind, eine links die andere Rechts, ich hätte nun gerne das die Rechte JToolBar eine feste Größe hat und am Rechten Rand plaziert ist, wohingegen die Linke JToolBar den restlichen Platz einnimmt.


--------------------------------------------------
| LinkeToolBar---------------------|Rechtetoolbar |
--------------------------------------------------

Leider ist es in der Praxis genau umgekehrt.
Die Linke ToolBar soll keine feste größe Haben
und der JFrame in dem sie sich befinden auch nicht (zumindest keine Maximale)
mein Code hierzu



Java:
		//LeftToolBar
		leftToolBar = new LeftToolBar();
			leftToolBar.setFloatable(false); 
		//RightToolBar
		rightToolBar = new RightToolBar();
			rightToolBar.setFloatable(false); 
			rightToolBar.setPreferredSize(new Dimension(100,0));

		//Splitpane für die Toolbars
		toolBarSP = new JSplitPane();
			toolBarSP.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
			toolBarSP.setDividerSize(0);
			toolBarSP.setLeftComponent(leftToolBar);
			toolBarSP.setRightComponent(rightToolBar);
			


		setLayout(new BorderLayout()); 
		getContentPane().add(toolBarSP, BorderLayout.NORTH);
 
Zuletzt bearbeitet:

KrokoDiehl

Top Contributor
Hm, klingt zumindest knifflig :)
Spontan kann ich mal drei Versuchsmöglichkeiten nennen:
Java:
// ...
rightToolBar.setMinimumSize( rightToolBar.getPreferredSize() );
rightToolBar.setAlignmentX( JToolbar.RIGHT_ALIGNMENT ); // kA ob das was bringt

// beim SplitPane:
toolBarSP.setDividerLocation( /*hier irgendwie die richtige Stelle berechnen*/  );

Aber: Gibt es einen Grund, dass du einen Splitter benutzt?
Code:
Mit DividerSize=0
kann man es doch sicher nicht hin und her schieben (oder irre ich hier?). Daher könnte ein normales
Code:
JPanel
auch seinen Dienst tun und hier wüsste ich eher, wie man eine Links-Rechts-Ausrichtung hinbekommt.
 

Tallan

Bekanntes Mitglied
Hm, klingt zumindest knifflig :)
Spontan kann ich mal drei Versuchsmöglichkeiten nennen:
Java:
// ...
rightToolBar.setMinimumSize( rightToolBar.getPreferredSize() );
rightToolBar.setAlignmentX( JToolbar.RIGHT_ALIGNMENT ); // kA ob das was bringt

// beim SplitPane:
toolBarSP.setDividerLocation( /*hier irgendwie die richtige Stelle berechnen*/  );

Aber: Gibt es einen Grund, dass du einen Splitter benutzt?
Code:
Mit DividerSize=0
kann man es doch sicher nicht hin und her schieben (oder irre ich hier?). Daher könnte ein normales
Code:
JPanel
auch seinen Dienst tun und hier wüsste ich eher, wie man eine Links-Rechts-Ausrichtung hinbekommt.

die idee ist folgende ich habe 2 Toolbars, die Linke wird dynamisch während der Laufzeit gefüllt und die Rechte enthält eine fixe Anzahl Icons, ich möchte das die rechte Toolbar ganz recht am Rand sitzt und die Linke ganz links, so das die Icons dann dynamisch ergänzt werden können (auf der linken Seite) ohne das die Rechte seite betroffen ist


Also :

Toolbar1----------------|Toolbar2|
Icon1 Icon2-------------|1 2 3 4 |

Im nächsten Schritt z.B
Toolbar1----------------|Toolbar2|
Icon1 Icon2 Icon3-------|1 2 3 4 |

Das JSplitpanel benutze ich um die beiden Toolbars zu übergeben, wenn es da eine Alternative gibt die das gewünschte Ergebnis bringt würde das natürlich völlig ausreichen.
 

KrokoDiehl

Top Contributor
Ok, hier mal ein minimales Testprogramm. Für dich relevant ist wohl das
Code:
tbPanel
. Wenn es für dich reicht, dass die Toolbars fix in ihren Ecken hängen, geht das ganz gut. Allerdings wirkt es nicht mehr, wenn die Toolbars
Code:
floatable
sind.
Java:
public class TestFrame
{
	public static final void main(String[] args)
	{
		new JFrame("Test")
		{
			{
				JToolBar left = new JToolBar();
					left.add(new JButton("b1"));
					left.add(new JButton("b2"));
					left.setFloatable(false);
				
				JToolBar right = new JToolBar();
					right.add(new JButton("RECHTS"));
					right.setMinimumSize( right.getPreferredSize() );
					right.setMaximumSize( right.getPreferredSize() );
					right.setFloatable(false);
				
				JPanel tbPanel = new JPanel(new BorderLayout());
					tbPanel.add(left, BorderLayout.WEST);
					tbPanel.add(Box.createHorizontalGlue(), BorderLayout.CENTER);
					tbPanel.add(right, BorderLayout.EAST);
				
				
				this.add(tbPanel, BorderLayout.NORTH);
				this.add(new JLabel("Mitte"), BorderLayout.CENTER);
				
				this.setDefaultCloseOperation(EXIT_ON_CLOSE);
				this.setLocationRelativeTo(null);
				this.pack();
			}
		}.setVisible(true);
	} //void main(String[])
} //class
Hoffe es löst dein Problem.
 

Tallan

Bekanntes Mitglied
Ok, hier mal ein minimales Testprogramm. Für dich relevant ist wohl das
Code:
tbPanel
. Wenn es für dich reicht, dass die Toolbars fix in ihren Ecken hängen, geht das ganz gut. Allerdings wirkt es nicht mehr, wenn die Toolbars
Code:
floatable
sind.
Java:
public class TestFrame
{
	public static final void main(String[] args)
	{
		new JFrame("Test")
		{
			{
				JToolBar left = new JToolBar();
					left.add(new JButton("b1"));
					left.add(new JButton("b2"));
					left.setFloatable(false);
				
				JToolBar right = new JToolBar();
					right.add(new JButton("RECHTS"));
					right.setMinimumSize( right.getPreferredSize() );
					right.setMaximumSize( right.getPreferredSize() );
					right.setFloatable(false);
				
				JPanel tbPanel = new JPanel(new BorderLayout());
					tbPanel.add(left, BorderLayout.WEST);
					tbPanel.add(Box.createHorizontalGlue(), BorderLayout.CENTER);
					tbPanel.add(right, BorderLayout.EAST);
				
				
				this.add(tbPanel, BorderLayout.NORTH);
				this.add(new JLabel("Mitte"), BorderLayout.CENTER);
				
				this.setDefaultCloseOperation(EXIT_ON_CLOSE);
				this.setLocationRelativeTo(null);
				this.pack();
			}
		}.setVisible(true);
	} //void main(String[])
} //class
Hoffe es löst dein Problem.


Ich konnte das Problem grade lösen, ich denke das ist dasselbe was du grade vorgeschlagen hast, daher vielen dank


Java:
			jp = new JPanel();
			jp.setLayout(new BorderLayout());
			jp.add(leftToolBar,BorderLayout.WEST);
			jp.add(rightToolBar,BorderLayout.EAST);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
L JSplitPane Divider Location beim Maximieren AWT, Swing, JavaFX & SWT 6
M Buttons in JSplitPane hinzufügen AWT, Swing, JavaFX & SWT 6
L JSplitPane - auf Änderung reagieren AWT, Swing, JavaFX & SWT 4
D JSplitPane lässt sich nicht verschieben AWT, Swing, JavaFX & SWT 3
M Swing JSplitPane beide Seiten fixieren AWT, Swing, JavaFX & SWT 2
U Swing JPane und JScrollpane in JSplitpane-Seite: Scrollen funktioniert nicht AWT, Swing, JavaFX & SWT 3
D JSplitPane, Jtree, CardLayout (constraint must be a string) AWT, Swing, JavaFX & SWT 9
D JSplitPane -> setRightComponent aus anderer Klasse AWT, Swing, JavaFX & SWT 3
B JSplitPane AWT, Swing, JavaFX & SWT 4
J Swing Problem - Abspeichern JSplitPane Position AWT, Swing, JavaFX & SWT 5
Burny91 Swing Vertical JSplitPane lässt sich nicht nach rechts verschieben AWT, Swing, JavaFX & SWT 2
C JSplitPane Divider fixieren AWT, Swing, JavaFX & SWT 2
S JSplitpane in BorderLayout nutzen AWT, Swing, JavaFX & SWT 4
S JSplitPane rechtes JPanel aus subpanel ändern AWT, Swing, JavaFX & SWT 3
G JSplitPane DividerLocation AWT, Swing, JavaFX & SWT 2
P Swing JSplitPane mehrere Teiler AWT, Swing, JavaFX & SWT 3
W JSplitPane wegräumen AWT, Swing, JavaFX & SWT 5
T Expand/Collape JSplitPane programmatically AWT, Swing, JavaFX & SWT 3
B JSplitPane mit max. Größe AWT, Swing, JavaFX & SWT 8
T Swing JSplitPane erstellen AWT, Swing, JavaFX & SWT 2
R JSplitPane automatisch ausblenden AWT, Swing, JavaFX & SWT 13
H Swing Darstellungsproblem JPanel in JPanel in JScrollpane in JSplitPane AWT, Swing, JavaFX & SWT 4
multiholle JSplitPane und MousListener AWT, Swing, JavaFX & SWT 8
S JSplitPane ändert Farbe nicht AWT, Swing, JavaFX & SWT 4
M JSplitPane Tabelle neu zeichnen AWT, Swing, JavaFX & SWT 3
G JSplitPane nur in eine richtung? AWT, Swing, JavaFX & SWT 3
T Probleme mit JSplitPane, JScrollPane, JTree AWT, Swing, JavaFX & SWT 3
G JSplitPane unf JTable automatisch anpassen AWT, Swing, JavaFX & SWT 2
H Look & Feel und JSplitPane Problem AWT, Swing, JavaFX & SWT 17
J JSplitpane separator soll nicht seine Position veraendern? AWT, Swing, JavaFX & SWT 3
J Border bei JSplitPane entfernen? AWT, Swing, JavaFX & SWT 2
A JSplitPane in JInternalFrame AWT, Swing, JavaFX & SWT 2
M JSplitPane ein JPanel hinzufügen und zentrieren. AWT, Swing, JavaFX & SWT 9
S JSplitPane mit einer Grenze AWT, Swing, JavaFX & SWT 4
T Probleme mit JSplitPane AWT, Swing, JavaFX & SWT 4
DeeDee0815 JSplitPane.expandTopLeftRightOrBottomComponent(); AWT, Swing, JavaFX & SWT 2
C JSplitPane automatische Veränderung verbieten. AWT, Swing, JavaFX & SWT 3
O JSplitPane und JTabbedPane AWT, Swing, JavaFX & SWT 8
G JSplitPane - setOneTouchExpandable AWT, Swing, JavaFX & SWT 3
N JSplitPane soll JFrame resizen AWT, Swing, JavaFX & SWT 4
S Eine Art JInternalFrame in JSplitPane AWT, Swing, JavaFX & SWT 3
S SWT <=> JSplitPane AWT, Swing, JavaFX & SWT 4
M Ansichtswechsel in JSplitPane AWT, Swing, JavaFX & SWT 2
M JSplitPane und JList aktualisieren AWT, Swing, JavaFX & SWT 4
S JDesktopPane mit JSplitPane und JTree AWT, Swing, JavaFX & SWT 3
H JSplitPane lässt sich nicht über rechtes Panel ziehen AWT, Swing, JavaFX & SWT 2
T 3-teiliges JSplitPane AWT, Swing, JavaFX & SWT 13
B BorderLayout/JSplitPane Problem beim Ausrichten AWT, Swing, JavaFX & SWT 5
B Component in JSplitPane aktualisieren AWT, Swing, JavaFX & SWT 2
J JSplitPane reagiert nicht auf SetDeviderLocation() AWT, Swing, JavaFX & SWT 2
J JSplitPane Felder ansprechen AWT, Swing, JavaFX & SWT 3
C JSplitPane / JTabbedPane Größe AWT, Swing, JavaFX & SWT 3
M JSplitPane Divider setzen? AWT, Swing, JavaFX & SWT 3
G Weiches automatisches verschieben eines JSplitPane-Dividers? AWT, Swing, JavaFX & SWT 3
T JSplitPane immer gleich groß machen AWT, Swing, JavaFX & SWT 3
A problem mit update nach event, JSplitpane spinnt AWT, Swing, JavaFX & SWT 2
D Probleme bei JSplitPane mit JScrollPanes und Panels. AWT, Swing, JavaFX & SWT 4
R JSplitPane problem AWT, Swing, JavaFX & SWT 3
R JSplitPane setRightComponent AWT, Swing, JavaFX & SWT 2
O JSplitpane . AWT, Swing, JavaFX & SWT 9
R JSplitPane (linke und rechte Seite) AWT, Swing, JavaFX & SWT 4
T JSplitPane & JTable AWT, Swing, JavaFX & SWT 4
M JSplitPane Listener AWT, Swing, JavaFX & SWT 2
V JTable in JSplitPane? Wie AWT, Swing, JavaFX & SWT 2
E Swing Componenten werden nach Änderung des display modes verzerrt dargestellt AWT, Swing, JavaFX & SWT 8
kaoZ Frage zum einfügen von Componenten AWT, Swing, JavaFX & SWT 14
L Componenten im JFrame an genaue stelle verschieben. AWT, Swing, JavaFX & SWT 2
V Swing Componenten Array AWT, Swing, JavaFX & SWT 3
B Swing JMenu zwischen anderen Componenten AWT, Swing, JavaFX & SWT 4
J Swing Componenten übereinander platzieren. AWT, Swing, JavaFX & SWT 17
M SWT SWT Componenten auf GLCanvas zeichnen AWT, Swing, JavaFX & SWT 3
earlgrey_tea GridBagLayout Componenten proportional vergößern AWT, Swing, JavaFX & SWT 12
L LayoutManager Componenten über verfügbaren Platz strecken AWT, Swing, JavaFX & SWT 7
L Swing Serverbrowser, aber welche componenten? AWT, Swing, JavaFX & SWT 2
H Mit for-schleife die Componenten eines Frames verändern AWT, Swing, JavaFX & SWT 5
H SWT Breite von componenten zu bestimmen AWT, Swing, JavaFX & SWT 2
T JFrame Componenten Problem AWT, Swing, JavaFX & SWT 17
lumo Swing Componenten ersetzen AWT, Swing, JavaFX & SWT 2
L Swing Kommunikation zwischen JMenuBar und anderen Componenten AWT, Swing, JavaFX & SWT 2
E Im Frame alle Componenten abrufen AWT, Swing, JavaFX & SWT 2
R Wie kann ich programmatisch Clicks auf Componenten ausfuehren? AWT, Swing, JavaFX & SWT 26
S Standpunkt von Componenten frei bestimmen AWT, Swing, JavaFX & SWT 10
R Thumbpanel bzw. Layout das Componenten in einem Grid anordnet ..? AWT, Swing, JavaFX & SWT 13
D verschieden große Componenten in einem JPanel? AWT, Swing, JavaFX & SWT 2
A Swing: Componenten in einem deaktivierten JPanel AWT, Swing, JavaFX & SWT 2
R HTML Hintergrund für Swing - Componenten AWT, Swing, JavaFX & SWT 2
G Suche 2 Componenten: Splitpane ausblenden / Stecknadel AWT, Swing, JavaFX & SWT 2
G SystemTray BubbleInfo an anderen Componenten anzeigen AWT, Swing, JavaFX & SWT 6
J durchsichtige componenten AWT, Swing, JavaFX & SWT 3
S Componenten werden nicht angezeigt AWT, Swing, JavaFX & SWT 3
R Componenten eines JFrames updaten AWT, Swing, JavaFX & SWT 11
thE_29 TableRenderer und JPanel => Abfrage auf Componenten Posit AWT, Swing, JavaFX & SWT 2
S Mehere Componenten setEnabled(false) in JToolBar AWT, Swing, JavaFX & SWT 4
M componenten im jframe erst nach fensterveränderung sichtbar AWT, Swing, JavaFX & SWT 2
S verhindern von drag-n-drop von swing componenten AWT, Swing, JavaFX & SWT 2
T Objektorientierung bei Componenten häh? AWT, Swing, JavaFX & SWT 5
D Componenten Problem - aktualisieren nach hinzufügen AWT, Swing, JavaFX & SWT 2
V JTable mit mehreren Componenten in einer Spalte ? AWT, Swing, JavaFX & SWT 6
M JLabel ausrichten AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben