Abstand vom Rahmen zu Komponenten bestimmen?

Status
Nicht offen für weitere Antworten.

Pago83

Bekanntes Mitglied
Hallo,

ich habe ein Panel mit einem GridBagLayout, in dem Labels, Checkboxen und Textfelder platziert sind.

Nun habe ich einen TitledBorder um das Panel gelegt. Der Rahmen nutzt momentan die komplette Größe des Panels. Ich möchte aber, dass er die die Labels, Checkboxen und Textfelder relativ eng umschliesst.

Kann ich irgendwie angeben, dass der Abstand zu den Komponenten verringert wird, oder wird standardmässig die volle Größe des Panels genutzt?

Code:
		JPanel rightPanel = new JPanel();
		TitledBorder titledBorder = BorderFactory.createTitledBorder("Titel");
		rightPanel.setBorder(titledBorder);
 

L-ectron-X

Gesperrter Benutzer
Du kannst Border zum Teil verschachteln/kombinieren. Allerdings bin ich aus deinem Text nicht so richtig schlau geworden, wie du es haben willst.
 

Pago83

Bekanntes Mitglied
Also, ich beschreibe es noch einmal genauer.

Ich habe ein Frame in der Größe (700, 500). Dieses Frame habe ich mit JSPlitPane horizontal gesplittet. In der linken Hälfte sitzt ein JTree auf einem JScrollPane. Soweit so gut.

Auf der rechten Seite habe ich jetzt auch ein JScrollPane, auf dem wiederum ein Panel sitzt. Auf dem Panel sind verschiedene Komponenten angeordnet, die ich jetzt in einen TitledBorder packen möchte. Leider werden aber nicht die Komponenten "eng umrandet", sondern der Rahmen erstreckt sich über die komplette Größe des Panels. Diesen Umstand möchte ich gerne ändern.

Mein Code sieht wie folgt aus:

Code:
public static void main (String[] args)
	{
		Menu frame = new Menu();
		try
		{
			Image img = ImageIO.read(Menu.class.getResource("re_icon.jpg"));
			frame.setIconImage(img);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
		frame.setLocation(100, 100);
		frame.setSize(700, 500);
		
		JPanel rightPanel = new JPanel();
		
		
		TitledBorder titledBorder = BorderFactory.createTitledBorder("BorderTitle");
		
		rightPanel.setBorder(titledBorder);
		
		GridBagLayout gbl = new GridBagLayout();
		rightPanel.setLayout(gbl);
		GridBagConstraints gbc = new GridBagConstraints();
		gbc.fill = GridBagConstraints.VERTICAL;
		gbc.insets = new Insets(5, 5, 5, 5);
		
		gbc.gridx = 0;
		gbc.gridy = 0;
		gbc.gridheight = 1;
		gbc.anchor = GridBagConstraints.WEST;
		JLabel parkNameLabel = new JLabel("Parkname:");
		gbl.setConstraints(parkNameLabel, gbc);
		rightPanel.add(parkNameLabel);
		
		gbc.gridx = 1;
		gbc.gridy = 0;
		gbc.gridheight = 1;
		JTextField parkName = new JTextField(20);
		gbl.setConstraints(parkName, gbc);
		rightPanel.add(parkName);
		
		gbc.gridx = 0;
		gbc.gridy = 1;
		gbc.gridheight = 1;
		gbc.anchor = GridBagConstraints.WEST;
		JLabel facilityTypeLabel = new JLabel("Anlagentyp:");
		gbl.setConstraints(facilityTypeLabel, gbc);
		rightPanel.add(facilityTypeLabel);
		
		gbc.gridx = 1;
		gbc.gridy = 1;
		gbc.gridheight = 1;
		String[] facilityTypes = {"WEA", "GS", "MS"};
		JComboBox comboBoxFacilityTypes = new JComboBox();
		for (String string : facilityTypes)
			comboBoxFacilityTypes.addItem(string);	
		gbl.setConstraints(comboBoxFacilityTypes, gbc);
		rightPanel.add(comboBoxFacilityTypes);
		
		gbc.gridx = 0;
		gbc.gridy = 2;
		gbc.gridheight = 1;
		gbc.anchor = GridBagConstraints.WEST;
		JLabel facilityNumberLabel = new JLabel("Anlagennummer:");
		gbl.setConstraints(facilityNumberLabel, gbc);
		rightPanel.add(facilityNumberLabel);
		
		gbc.gridx = 1;
		gbc.gridy = 2;
		gbc.gridheight = 1;
		JTextField facilityNumber = new JTextField(20);
		gbl.setConstraints(facilityNumber, gbc);
		rightPanel.add(facilityNumber);
		
		gbc.gridx = 0;
		gbc.gridy = 3;
		gbc.gridheight = 1;
		gbc.anchor = GridBagConstraints.WEST;
		JLabel typeLabel = new JLabel("Typ:");
		gbl.setConstraints(typeLabel, gbc);
		rightPanel.add(typeLabel);
		
		gbc.gridx = 1;
		gbc.gridy = 3;
		gbc.gridheight = 1;
		String[] types = {"MD77", "MM82", "MM92"};
		JComboBox comboBoxTypes = new JComboBox();
		for (String string : types)
			comboBoxTypes.addItem(string);	
		gbl.setConstraints(comboBoxTypes, gbc);
		rightPanel.add(comboBoxTypes);

		gbc.gridx = 0;
		gbc.gridy = 4;
		gbc.gridheight = 1;
		gbc.anchor = GridBagConstraints.WEST;
		JLabel serialNumberLabel = new JLabel("Seriennummer:");
		gbl.setConstraints(serialNumberLabel, gbc);
		rightPanel.add(serialNumberLabel);
		
		gbc.gridx = 1;
		gbc.gridy = 4;
		gbc.gridheight = 1;
		JTextField serialNumber = new JTextField(20);
		gbl.setConstraints(serialNumber, gbc);
		rightPanel.add(serialNumber);
		
		gbc.gridx = 0;
		gbc.gridy = 5;
		gbc.gridheight = 1;
		gbc.anchor = GridBagConstraints.WEST;
		JLabel ipAddressLabel = new JLabel("IP-Adresse:");
		gbl.setConstraints(ipAddressLabel, gbc);
		rightPanel.add(ipAddressLabel);
		
		gbc.gridx = 1;
		gbc.gridy = 5;
		gbc.gridheight = 1;
		JTextField ipAddress = new JTextField(20);
		gbl.setConstraints(ipAddress, gbc);
		rightPanel.add(ipAddress);
		
		JScrollPane leftScrollPane = new JScrollPane();
		leftScrollPane.setMinimumSize(new Dimension(0, 0));
		leftScrollPane.setPreferredSize(new Dimension(200, 500));
		JScrollPane rightScrollPane = new JScrollPane();
		rightScrollPane.setMinimumSize(new Dimension(0, 0));
		rightScrollPane.setViewportView(rightPanel);
		
		JTree tree = new JTree();
		leftScrollPane.setViewportView(tree);
		JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
		splitPane.setOneTouchExpandable(true);
		splitPane.setLeftComponent(leftScrollPane);
		splitPane.setRightComponent(rightScrollPane);
							
		frame.getContentPane().add(splitPane);
		frame.setVisible(true);
	}

Ich weiss, dass der Code ziemlich lang ist, aber vielleicht hilft er dabei, mein Problem besser zu beschreiben.

Hoffe, ihr könnt mir weiterhelfen.
 

L-ectron-X

Gesperrter Benutzer
Dann kannst du zusammengehöhrende Komponenten auf weiteren JPanels zusammenfassen. Allen JPanels kannst du dann einen TitledBorder verpassen und sie auf der JScrollPane bzw. auf einem Hauptpanel positionieren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
M Wie kann ich hier den Abstand ausgeben? Java Basics - Anfänger-Themen 3
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
CptK Interface Bilder über Bildschirm bewegen, bis der Abstand zum vorherigen zu groß wird Java Basics - Anfänger-Themen 13
Dilara_K Abstand zwischen den Doppelwerten in einem Array herausfinden Java Basics - Anfänger-Themen 20
M Arrays sortieren und kleinster Abstand Java Basics - Anfänger-Themen 3
B Erste Schritte Größter Abstand von 2 Zahlen aus 3 Zahlen ausgeben Java Basics - Anfänger-Themen 6
T Abstand zwischen zwei Zeitstempeln errechnen. Java Basics - Anfänger-Themen 3
M Kleinster Abstand berechnen (prozedural) Java Basics - Anfänger-Themen 7
M Abstand 2er Punkte (Klassen) Java Basics - Anfänger-Themen 11
F Punktpaar mit geringstem Abstand finden Java Basics - Anfänger-Themen 4
hdi formatierte ausgabe -> probleme mit tabulator abstand Java Basics - Anfänger-Themen 3
G JMenuItem Abstand Java Basics - Anfänger-Themen 2
ChackZz Abstand zwischen zwei Daten berechnen Java Basics - Anfänger-Themen 5
P Abstand zwischen zwei Punkten Java Basics - Anfänger-Themen 4
G Abstand JFrame Java Basics - Anfänger-Themen 5
G Pixel-Abstand im JPanel Java Basics - Anfänger-Themen 11
G JPanel (Abstand von links) Java Basics - Anfänger-Themen 1
G Horizontaler Abstand zwischen Buchstaben Java Basics - Anfänger-Themen 2
O abstand vom text zum border Java Basics - Anfänger-Themen 4
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
K Rahmen erstellen mit mehrdimensionalem Array Java Basics - Anfänger-Themen 1
H Best Practice JavaFX TableView mit Zell-Rahmen anstelle von Zeilen-Balken Java Basics - Anfänger-Themen 1
P Wichtige Frage zu Border bzw Rahmen Java Basics - Anfänger-Themen 1
M Rahmen für undekorierten JFrame Java Basics - Anfänger-Themen 6
M Zelle von JTable mit Rahmen versehen Java Basics - Anfänger-Themen 4
E JButton Hintergrund / Rahmen entfernen? Java Basics - Anfänger-Themen 4
A Uebungsaufgabe: HeadLine mit Rahmen?! Java Basics - Anfänger-Themen 6
L Rahmen bei jLabel Java Basics - Anfänger-Themen 3
K Rahmen Zeichnen ? Java Basics - Anfänger-Themen 2
B Button ohne Rahmen Java Basics - Anfänger-Themen 3
G Ist es möglich, den 'Rahmen' eines Frames durch Grafiken. Java Basics - Anfänger-Themen 5
J Rahmen bei frame Java Basics - Anfänger-Themen 3
G Rahmen um 5 Textfelder Java Basics - Anfänger-Themen 4
O Ein Sichtbarer Rahmen (in Farbe) um ein JPanel. Java Basics - Anfänger-Themen 5
S Rahmen zeichnen, wie heisst diese Componente Java Basics - Anfänger-Themen 6
C JScrollPane ohne Rahmen? Java Basics - Anfänger-Themen 2
M Rahmen um Basiskomponenten Java Basics - Anfänger-Themen 2
D Komponenten, Module, Begrifferklärung Java Basics - Anfänger-Themen 4
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
C Einbinden von Komponenten mit Maven Java Basics - Anfänger-Themen 3
V Alle Komponenten eines JPanels Java Basics - Anfänger-Themen 14
T Optionale Komponenten Java Basics - Anfänger-Themen 8
M GUI- mehrere Komponenten auf Container adden Java Basics - Anfänger-Themen 2
P JavaFX - Komponenten skalieren Java Basics - Anfänger-Themen 16
J Klassen Hilfe bei unbekannten Zeilen bzgl. Klassen / Komponenten Java Basics - Anfänger-Themen 12
I komponenten werden in JFrame nicht richtig angezeigt Java Basics - Anfänger-Themen 1
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
D JFrame, Komponenten verschmiert. Java Basics - Anfänger-Themen 15
N JTable - Zellfarben ändern, GUI-Komponenten in Zellen einfügen Java Basics - Anfänger-Themen 5
M Komponenten irgendwo versteckt? Java Basics - Anfänger-Themen 7
O swing komponenten werden nicht angezeigt Java Basics - Anfänger-Themen 6
MU5T4NG Komponenten in Schleife ansprechen Java Basics - Anfänger-Themen 13
B Tabelle, Größe der Komponenten Java Basics - Anfänger-Themen 2
D Wie genau kann ich in Java Komponenten entwickeln? Java Basics - Anfänger-Themen 6
P Scrollpane mit dynamisch erzeugten Komponenten Java Basics - Anfänger-Themen 3
M Fixe Position von GUI Komponenten ? Java Basics - Anfänger-Themen 9
Weiti Anzeige von komponenten erst bei Mouse-Over Java Basics - Anfänger-Themen 3
N Anordnug der Komponenten mit NetBeans Java Basics - Anfänger-Themen 9
M Obsolete Komponenten feststellen? Java Basics - Anfänger-Themen 3
X GridBagLayout Komponenten Anordnungsproblem Java Basics - Anfänger-Themen 4
L Komponenten in Layoutmanagern zentrieren Java Basics - Anfänger-Themen 5
J Probleme mit Visual Editor Komponenten auf Panel legen Java Basics - Anfänger-Themen 4
J Komponenten andordnen Java Basics - Anfänger-Themen 2
K Koordinaten von Swing Komponenten Java Basics - Anfänger-Themen 2
G Komponenten Java Basics - Anfänger-Themen 2
A Komponenten nur sporadisch sichtbar beim starten Java Basics - Anfänger-Themen 2
I Swing-Komponenten-Größe im GridBagLayout beschränken Java Basics - Anfänger-Themen 2
N GridBagLayout: gleichmäßige verteilung von Komponenten Java Basics - Anfänger-Themen 23
S Auf JButtonBar komponenten ausrichten, größe festlegen? Java Basics - Anfänger-Themen 5
S Wie komponenten positionieren? Java Basics - Anfänger-Themen 6
B Komponenten im LayoutManager zentrieren Java Basics - Anfänger-Themen 5
G Seit Java6 wird der Text von komponenten komisch dargestellt Java Basics - Anfänger-Themen 11
Q Beste Komponenten für 3-Schichten-Architektur gesucht Java Basics - Anfänger-Themen 7
T Anderes Fenster öffnen, darin enthaltene Komponenten ändern Java Basics - Anfänger-Themen 2
E Komponenten auf Panel positionieren Java Basics - Anfänger-Themen 3
S Komponenten löschen und ersetzen Java Basics - Anfänger-Themen 2
S Kommunikation zwischen Komponenten in einem JFrame Java Basics - Anfänger-Themen 10
J Dynamische Größenveränderung der Komponenten verhindern Java Basics - Anfänger-Themen 8
S Alle Komponenten die ich auf die IDE ziehe sind align all Java Basics - Anfänger-Themen 7
B Komponenten einer Zeile, Spalte des GridLayouts hinzufügen Java Basics - Anfänger-Themen 3
M value von Komponenten erhalten Java Basics - Anfänger-Themen 3
G GUI Komponenten Java Basics - Anfänger-Themen 14
M Problem beim ändern von Komponenten während Visible(true) Java Basics - Anfänger-Themen 4
M Bei Swing Komponenten die Farbe ändern? Java Basics - Anfänger-Themen 12
S Benennung von Komponenten bei Swing? Java Basics - Anfänger-Themen 8
J von Methode auf GUI-Komponenten zugreifen? Java Basics - Anfänger-Themen 5
J Problem mit Swing-Komponenten Java Basics - Anfänger-Themen 13
G Visuellen Komponenten Hints zuordnen Java Basics - Anfänger-Themen 5
G Komponenten dynamisch auf contentPane einbinden Java Basics - Anfänger-Themen 5
M wie kombiniere ich grafik und swing-komponenten Java Basics - Anfänger-Themen 16
X Komponenten automatisch erzeugen Java Basics - Anfänger-Themen 8
X Viele Komponenten automatisch erzeugen Java Basics - Anfänger-Themen 2
sambalmueslie Probleme mit Container und Komponenten. Java Basics - Anfänger-Themen 3
A Komponenten im Panel ausrichten Java Basics - Anfänger-Themen 5
M GridBagLayout und enthaltende komponenten Java Basics - Anfänger-Themen 5
G alle Komponenten vom Typ JPanel removen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben