Layout Idee

headnut

Gesperrter Benutzer
Guten Tag

Ich muss ein für mich relativ komplexes GUI erstellen. Im Anhang ist ein Bild davon wie es etwa aussehen sollte.

Hat jemand einen Typ wie ich am besten zu einem solchen Ergebnis kommen kann?

Die Daten aufzubereit ist kein problem, kommt alles via Netzwerk... Doch das Layout stellt mich vor probleme...

Vielen Dank schonmal
 

Anhänge

  • Foto 22.05.12 14 27 26.jpg
    Foto 22.05.12 14 27 26.jpg
    103,4 KB · Aufrufe: 59
C

Camino

Gast
Ich würde erst mal eine Klasse für die Komponente der kleinen Kästchen erstellen, Diese wiederholen sich ja öfters, sind aber vom Layout her immer gleich, nur die Daten ändern sich. Musst du evtl. mal ein bisschen rumprobieren, aber ich denke, mit einem GridBagLayout lässt sich das bestimmt gut hinkriegen (3 Spalten, 4 Zeilen, das Feld in der Mitte geht über 2 Zeilen). Sind dann ja in den Zellen nur JLabels mit Zahlen und evtl. einem farbigen Hintergrund. In dieser Klasse hast du dann Methoden zum Befüllen mit deinen Daten.

Und dann erstellst du dir einen Container mit 8x3 dieser Kästen und der Beschriftung vorne, z.B. auch mit GridBagLayout angeordnet. Von diesen Containern kannst du dann ja mehrere untereinander anordnen.
 

Marco13

Top Contributor
Man müßte wissen, welche Kästchen da welche Components sein sollen, und welche Constraints es gibt (Seitenverhältnisse, Abstände, Verteilung von überschüssigem Platz etc). Die drei Reihen könnten ggf. jeweils ein GridLayout haben, in dem die kleinen, inneren Kästchen als eigene Components liegen, aber das ist nur geraten.
 

headnut

Gesperrter Benutzer
von der grösse her ist nichts limitiert oder festgelegt! es wird sowiso über scrollbalken gehen.

Ich habe mir die Sache mit einer JTable überlegt, ist jedoch zu aufwändig...

Das gridbaglayout wird wohl der vernünftigste ansatz sein.
 

GUI-Programmer

Top Contributor
Es geht so ziemlich mit jeden der großen, mächtigen LayoutManager (GridBag-, Form-, Mig-, Tablelayout......). Evtl. hilft es auch zu Verschachteln, auch wenn dies nicht unbedingt nötig wäre; wie vanny bereits sagte, der Einsatz vom GridLayout auch evtl.

Für die einzelnen "Kasten" bzw. "Zellen" würde es sich auf jedenfall lohnen eine eigene Komponent zu basteln, um diese dann öfters zu verwenden...... Dies hab ich grad mal schnell mit den FormLayout gemacht:
Java:
package de.king.layoutidee;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.RowSpec;
import javax.swing.border.LineBorder;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;

public class SpecialComponent extends JPanel {

	private static final long serialVersionUID = 1L;
	
	private JLabel lblCenterNumber;
	private JLabel[] lblGreen;
	private JLabel lblRed;

	public SpecialComponent() {
		setBorder(new LineBorder(new Color(0, 0, 0), 2));
		setBackground(Color.WHITE);
		setLayout(new FormLayout(
			new ColumnSpec[] {
				ColumnSpec.decode("default:grow"),
				ColumnSpec.decode("default:grow"),
				ColumnSpec.decode("default:grow"),},
			new RowSpec[] {
				RowSpec.decode("default:grow"),
				RowSpec.decode("default:grow"),
				RowSpec.decode("default:grow(0.1)"),
				RowSpec.decode("default:grow"),
				RowSpec.decode("default:grow"),})
		);
		
		lblCenterNumber = new JLabel();
		lblCenterNumber.setOpaque(true);
		lblCenterNumber.setBackground(new Color(230, 230, 230));
		lblCenterNumber.setBorder(new LineBorder(new Color(0, 0, 0), 2));
		add(lblCenterNumber, "2, 2, 1, 3, fill, fill");
		
		lblGreen = new JLabel[5];
		for(int i=0; i<lblGreen.length; i++) {
			lblGreen[i] = new JLabel();
			lblGreen[i].setOpaque(true);
			lblGreen[i].setBackground(Color.GREEN);
		}
		add(lblGreen[0], "1, 4, fill, fill");
		add(lblGreen[1], "1, 2, fill, fill");
		add(lblGreen[2], "2, 1, fill, fill");
		add(lblGreen[3], "3, 2, fill, fill");
		add(lblGreen[4], "3, 4, fill, fill");
		
		lblRed = new JLabel();
		lblRed.setOpaque(true);
		lblRed.setBackground(new Color(255, 60, 60));
		add(lblRed, "2, 5, fill, fill");
	}
	
	public void setCenterNumber(int number) {
		lblCenterNumber.setText(String.valueOf(number));
	}
	
	public int getCenterNumber() {
		return Integer.parseInt(lblCenterNumber.getText());
	}
	
	public void setGreenNumber(int number, int index) {
		lblGreen[index].setText(String.valueOf(number));
	}
	
	public int getGreenNumber(int index) {
		return Integer.parseInt(lblGreen[index].getText());
	}
	
	public void setRedNumber(int number) {
		lblRed.setText(String.valueOf(number));
	}
	
	public int getRedNumber() {
		return Integer.parseInt(lblRed.getText());
	}
	
	// Nur zum Testen, gehört natürlich hier nicht hin:
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			@Override
			public void run() {
				JFrame frame = new JFrame("Test");
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				SpecialComponent specialComp = new SpecialComponent();
				specialComp.setPreferredSize(new Dimension(400, 250));
				frame.setContentPane(specialComp);
				frame.pack();
				frame.setLocationRelativeTo(null);
				frame.setVisible(true);
			}
		});
	}

}
 

headnut

Gesperrter Benutzer
Das sieht doch schonmal sehr genial aus!

Ich werde mich in dieses FormLayout einlesen! Es scheint mir, dass es sich am besten eignen würde...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
S Layout - Problem AWT, Swing, JavaFX & SWT 1
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
IsSchoGuat LayoutManager Layout-Containergrösse AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
F Layout-Problem AWT, Swing, JavaFX & SWT 2
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
D Bild in JPanel verschiebt Layout. Wie fixieren? AWT, Swing, JavaFX & SWT 9
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
ARadauer Wenig Material zum Thema: Design, Layout, Usability von Swing Anwendungen AWT, Swing, JavaFX & SWT 11
S LayoutManager Welcher LayoutManager für dieses zweispaltige Layout? AWT, Swing, JavaFX & SWT 13
G LayoutManager Layout welches von Links nach rechts anordnet mit TOP Alignment! AWT, Swing, JavaFX & SWT 5
A Best practice für konkretes Layout AWT, Swing, JavaFX & SWT 10
G LayoutManager Layout für Spalten AWT, Swing, JavaFX & SWT 8
A Layout/JPanelgröße AWT, Swing, JavaFX & SWT 6
S pack() bei null-Layout AWT, Swing, JavaFX & SWT 10
C SWT Tabellen-Layout in StyledText? AWT, Swing, JavaFX & SWT 6
J LayoutManager Welchen Layout/Design-Manager? AWT, Swing, JavaFX & SWT 4
R Swing Layout setzen AWT, Swing, JavaFX & SWT 3
L Layout automatische Anpassung umgehen? AWT, Swing, JavaFX & SWT 5
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
J Button Layout anpassen AWT, Swing, JavaFX & SWT 22
H LayoutManager Layout mit GridBagLayout machbar? AWT, Swing, JavaFX & SWT 6
B Buttongröße im Layout AWT, Swing, JavaFX & SWT 4
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
O LayoutManager Layout entwerfen AWT, Swing, JavaFX & SWT 3
A diverse Layout-Fragen AWT, Swing, JavaFX & SWT 4
F LayoutManager Eigenes Layout die Lösung?! AWT, Swing, JavaFX & SWT 4
dzim SWT Layout mit Sections aus Eclipse Forms AWT, Swing, JavaFX & SWT 17
F JScrollPane verwirft Layout von JPanel AWT, Swing, JavaFX & SWT 2
C LayoutManager Layout und vergrößern des Frames AWT, Swing, JavaFX & SWT 5
E Swing Runde Buttons / Position eines Obj. im Layout AWT, Swing, JavaFX & SWT 7
S Swing UI-Elemente ordnen sich ungewollt in einer Reihe (ohne Layout) AWT, Swing, JavaFX & SWT 5
A Ungewollte Layout änderungen AWT, Swing, JavaFX & SWT 3
A Suche: Eclipse-GUI-Layout AWT, Swing, JavaFX & SWT 5
E JPanel mit Null Layout entfernt Buttons AWT, Swing, JavaFX & SWT 11
N Swing Layout positionieren AWT, Swing, JavaFX & SWT 2
B Methode setzt nicht das Layout in einer if-Abfrage AWT, Swing, JavaFX & SWT 13
H LayoutManager Dynamisches Layout AWT, Swing, JavaFX & SWT 3
M SWT Breite von Textfeld nur ohne Layout änderbar AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben