JSplitPane ein JPanel hinzufügen und zentrieren.

Status
Nicht offen für weitere Antworten.

matzze2000

Aktives Mitglied
Hallo,

ich probiere jetz hier seit ner halben Stunde ein Panel, dass nem Splitpane hinzugefügt wurde zu zentrieren. Ich habe auf der linken Seite des Splitpanes ein Menü und auf der Rechten soll ein Panel mit Inhalt angezeigt werden. Da es aber verschiedene Panels sind und die nich immer gleich groß sind sollen die einfach auf der rechten Seite zentiert werden. Aber egal was ich für Werte setze, es passiert nichts...
 

Tobias

Top Contributor
Ich kann mir nicht vorstellen, was genau du vorhast und wo das Problem liegt. Kannst du mal ein Bild posten? Und vielleicht ein bißchen Code von dem, was du bisher versucht hast?

mpG
Tobias
 

matzze2000

Aktives Mitglied
Naja, ich habe ein SplitPane. Das besteht ja aus ner linken und ner rechten Seite. Auf der Linken Seite is ein Baum-Menü und auf der rechten Seite soll dann der Inhalt dargestellt werden. Der Code sieht so aus:

Code:
splitPane = new JSplitPane(
			     JSplitPane.HORIZONTAL_SPLIT);
		this.add(splitPane);
		splitPane.setOneTouchExpandable(false);
		splitPane.setContinuousLayout(true);
		TreeMenu menu = new TreeMenu(this, menuList);


//Und dann soll der Inhalt hinzugefügt werden:

public void setContent(JPanel Inhalt){
		/**
		 *  Setzt den Inhalt ins aktuelle Layout
		 */
		JPanel panel = new JPanel();
		splitPane.setRightComponent(panel);
		//int x= (int)panel.getSize().getWidth() / 2;
		//int y= (int)panel.getSize().getHeight() /2;
		panel.add(Inhalt);
		panel.setSize(500, 500);
		//JOptionPane.showMessageDialog(this, panel.getSize().getWidth());
		//panel.setSize(500, 300);
		//Inhalt.setLocation(x, y);
	}

Und der Inhalt soll halt auf der rechten Seite vom Scrollpane horizontal und vertikal zentriert sein. Habe erst versucht den Inhalt direkt drauf zu setzen, als das nich ging hab ich ihn erst auf ein extra Panel gesetzt, aber ging irgendwie alles nich.
 
M

Michael...

Gast
soll die Komponente direkt im SplitPane zentriert werden, oder
soll die Komponente in ein ScrollPane, dessen ScrollBars dann zentriert werden?
 

matzze2000

Aktives Mitglied
Naja, ein ScrollPane wäre da sicherlich noch angebracht, falls das Formular mal größer ist als die Fensterfläche...
Aber im prinzip soll es, unabhängig davon, auf welche Komponente es nun gesetzt ist, zentriert im rechten Teil vom SplitPane sein.
 
M

Michael...

Gast
das mit dem setLocation(x,y) geht grundsätzlich schon. Dazu muss man panel.setLayout(null) setzen.
Wie soll sich das Ganze verhalten, wenn der Teiler bewegt wird?
 

matzze2000

Aktives Mitglied
Aber wenn ich das Panel.setLayout(null) setze, wird garnichts mehr angezeigt. Wenn der Teiler bewegt wird sollte einfach alles zentriert bleiben, aber das is auch nich sooo wichtig, hauptsache es klappt überhaupt erstmal ;)
 
M

Michael...

Gast
hier mal ein Bsp.:
Code:
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;

public class SplitTest extends JSplitPane {
	private JPanel panel;
	public SplitTest() {
		super();
		panel = new JPanel();
		panel.setOpaque(true);
		panel.setBackground(Color.RED);
		panel.setLayout(null);
		
		this.setRightComponent(panel);
	}
	
	public void setContent(JPanel content) {
		panel.removeAll();
		content.setLocation((panel.getWidth()-content.getWidth())/2, (panel.getHeight()-content.getHeight())/2);
		panel.add(content);
		this.validate();
	}
	
	public static void main(String[] args) {
		SplitTest splitTest = new SplitTest();
		JFrame frame = new JFrame();
		frame.setBounds(0,0,500,500);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().add(splitTest);
		frame.setVisible(true);
		
		JPanel test = new JPanel();
		test.setOpaque(true);
		test.setBackground(Color.BLUE);
		test.setSize(150, 50);
		splitTest.setContent(test);
	}
}
 
M

Michael...

Gast
...wobei ich jetzt nicht unbedingt Fan vom NullLayout bin.
 

matzze2000

Aktives Mitglied
Ok danke... Jetzt werden immerhin schonmal die richtigen Koordinaten für alles angezeigt wenn ich sie ausgeben lasse. Allerdings wird der neue Inhalt (das test-JPanel) irgendwie immernoch nich angezeigt :?

Habe jetzt diesen Code:

Code:
public class TreeFrame extends FrameInterface {
	
	private JSplitPane splitPane;

	public TreeFrame(ArrayList<MenuPoint> menuList){
		
		//super();
		splitPane = new JSplitPane(
			     JSplitPane.HORIZONTAL_SPLIT);
		this.getContentPane().add(splitPane);
		//splitPane.setOneTouchExpandable(false);
		//splitPane.setContinuousLayout(true);
		
		TreeMenu menu = new TreeMenu(this, menuList);
		
		panel = new JPanel(); 
	      panel.setOpaque(true); 
	      panel.setBackground(Color.RED); 
	      panel.setLayout(null);
		
		splitPane.setLeftComponent(menu);
		splitPane.setRightComponent(panel);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	
	public void setContent(JPanel content){
		/**
		 *  Setzt den Inhalt ins aktuelle Layout
		 */
		panel.removeAll(); 
	      content.setLocation((panel.getWidth()-content.getWidth())/2, (panel.getHeight()-content.getHeight())/2); 
	      panel.add(content);
	      this.validate();
		JOptionPane.showMessageDialog(this, content.getLocation());
	}
	
}

//Und von der FrameINterface Klasse wird noch diese Methode vererbt:

public void menuAction(String menuEintrag){
		/**
		 *  Hier werden die Aktionen für das Auswählen eines neuen Menüeintrages definiert.
		 *  Das jeweilige Layout ruft diese Funktion auf wenn der Listener eine Aktion
		 *  festgestellt hat und gibt den Namen des gewählten Menüeintrages als String mit. 
		 */
		
		JPanel test = new JPanel(); 
	      test.setOpaque(true); 
	      test.setBackground(Color.BLUE);
	      test.setSize(150, 50);
		if(menuEintrag == "UnterPunkt4") setContent(test);
	}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JSplitPane rechtes JPanel aus subpanel ändern AWT, Swing, JavaFX & SWT 3
H Swing Darstellungsproblem JPanel in JPanel in JScrollpane in JSplitPane AWT, Swing, JavaFX & SWT 4
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
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 Swing JSplitPane Componenten ausrichten AWT, Swing, JavaFX & SWT 4
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
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
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
P Zwei JPanel übereianderlegen AWT, Swing, JavaFX & SWT 14
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
G JPanel mit JButtons und Bilder AWT, Swing, JavaFX & SWT 5
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
M clear JPanel before repainting AWT, Swing, JavaFX & SWT 1
B ImageIcon auf JPanel austauschen AWT, Swing, JavaFX & SWT 3
T Swing Reload JPanel + darin liegende ProgressBar AWT, Swing, JavaFX & SWT 9
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
F JPanel Celleditor AWT, Swing, JavaFX & SWT 8
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
Ich lerne Java. Swing Von JPanel A auf JPanel B zugreifen. AWT, Swing, JavaFX & SWT 4
A JPanel austauschen und Focus geben AWT, Swing, JavaFX & SWT 3
E Auf JPanel malen und davor JComponenten anzeigen AWT, Swing, JavaFX & SWT 12
L JComponent aus JPanel anhand Mausposition ermitteln AWT, Swing, JavaFX & SWT 10
J JPanel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
B Verschiebbares JPanel "ruckelt" im Randbereich AWT, Swing, JavaFX & SWT 2
S Swing JPanel nimmt keinen KeyListener an AWT, Swing, JavaFX & SWT 7
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
Hatsi09 Swing JPanel Bild einfügen AWT, Swing, JavaFX & SWT 14
L JPanel zeigt keinen Inhalt AWT, Swing, JavaFX & SWT 1
dereki2000 JPanel mit Rückgbe wie bei JOptionPane AWT, Swing, JavaFX & SWT 3
E Hintergrundfarbe setzen in JPanel funktioneirt nicht AWT, Swing, JavaFX & SWT 4
P JPanel KeyListener hinzufügen AWT, Swing, JavaFX & SWT 8
S Nach scrollen verschwindet das zuvor im JPanel gezeichnete AWT, Swing, JavaFX & SWT 2
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
L Swing JPanel Größe anpassen AWT, Swing, JavaFX & SWT 6
D Platzierung von JTextfield in JPanel AWT, Swing, JavaFX & SWT 3
D Swing Anwendung ohne JPanel erstellen AWT, Swing, JavaFX & SWT 1
M Swing JPanel in JScrollPane AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben