Einfaches Fenster "ordentlich" darstellen

Status
Nicht offen für weitere Antworten.

Frank1975

Mitglied
vor meiner Frage hier erstmal mein Code:

Java:
private static JFrame fenster = new JFrame();
		fenster.setLayout(new GridLayout(/* 3 */0, 1, 2, 3));
		fenster.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
private static JPanel panel = new JPanel();
		panel.setLayout(new GridLayout(/* 3 */0, 6, 1, 1));
		panel.add(new JLabel("Thread:"));
		panel.add(new JLabel("start Thread"));
		panel.add(new JLabel("pause Thread"));
		// panel.add(new JLabel("Info"));
		panel.add(new JLabel("Auslastung"));
		panel.add(new JLabel("Statistik"));
		panel.add(new JLabel("Status"));
		fenster.add(panel);

		panel = new JPanel();
		panel.setLayout(new GridLayout(/* 3 */0, 6, 1, 1));
		panel.add(new JLabel(""));
		panel.add(new JLabel(""));
		panel.add(new JLabel(""));
		panel.add(new JLabel(""));
		panel.add(new JLabel("(Ordner/Datei/kByte/verschoben)"));
		panel.add(new JLabel(""));
		fenster.add(panel);

		 // hier werden dynamisch Zeilen erstellt und als Panel dem fenster hinzugefügt
		for (int i = 0; i < threadnamelabel.size(); i++) {
			panel = new JPanel();
			panel.setLayout(new GridLayout(/* 3 */0, 6, 1, 1));
			panel.add(threadnamelabel.get(i));
			panel.add(startstopbuttons.get(i * 2));
			panel.add(startstopbuttons.get(i * 2 + 1));
			panel.add(progressbar.get(i));
			panel.add(threadstatistiklabel.get(i));
			panel.add(threadstatuslabel.get(i));
			fenster.add(panel);
		}

		panel = new JPanel();
		panel.setLayout(new GridLayout(/* 3 */0, 7, 1, 1));
		for (int i = 0; i < lastbuttonline.size(); i++) {
			panel.add(lastbuttonline.get(i));
		}
		fenster.add(panel);
		fenster.setResizable(false);
		fenster.pack();
		fenster.setVisible(true);

Dies soll die Ausgabe einer Anzahl von Threads werden/sein.

Es wird schon angewandt, jedoch habe ich ein Problem:
Bei der dynamischen Erweiterung des zweiten Panels kann es passieren, dass das
Fenster größer wird, als der Desktop anzeigen kann.

Fragen:
Ist es möglich, dem Fenster eine Maximale Ausdehung von z.B. 1000x600 vorzugeben, so dass die Inhalte des Fensters und der Panels "verkleinert" werden. Also normale Schriftgröße
14 Pixel je mehr Inhalte desto kleiner die Schrift.
oder den mittleren Teil in einen Scrollfähiges Panel einbringen, das von Begin an max. 8 Zeilen anzeigen kann
 

cover1012

Aktives Mitglied
Du kannst die Größe deines Frames mit JFrame#setSize(int,int) jederzeit setzen. Die Schriftgröße deiner Komponenten musst du allerdings auch "zu Fuß" anpassen, also mit: JComponent#setFont(String,int,int).

Um dein Panel scrollfähig zu machen, packst du es in ein JScrollPane. Du kannst die aufgenommene Komponente jedezeit hinzufügen: JScrollPane#setViewportView(Component).
 

Dragonfire

Bekanntes Mitglied
Meines Wissen setzt man die
Größe doch mit:

Java:
setPreferredSize(Dimension preferredSize)

Liege ich da so falsch :shock: ?
(vor allem bei diesem Problem)

Soweit ich mich erinnern kann ignorieren doch einige
Layouts setSize,
weswegen man setPreferredSize nehmen sollte.
 
Zuletzt bearbeitet:

Frank1975

Mitglied
01.jpg


so sollte es eigentlich aussehen, jedoch kriege ich es so nicht per hand hin ...
und Generatoren will ich nicht nutzen
 

Dragonfire

Bekanntes Mitglied
Was meinst du mit Generatoren?

Wenn die Größe des JScrollPane gleich bleiben soll,
dann setzte sie einfach fest.

Java:
JScrollPaneVariable.setPreferredSize(new Dimension(500,200));
 

Frank1975

Mitglied
einen Codegenerator meinte ich.

Das obere Listing enthält eine for-Schleife. Das was dort erzeugt wird soll in eine Scrollpane. jedoch ist es so, dass wenn ich dort einstellungen mache, gleicht der
Layoutmanager automatisch das erste und das letzte Panel so an, dass es gleich
groß der anderen Elemente ist.
Beispiel:

Fenstergröße gesamt 800x600
3 Panels teilen Sich das Fenster durch den Layoutmanager auf
jedes Panel hat die Ausmaße 800 x 200

erste Panel Buttons hat sozusagen die Ausmaße des ersten Panel
im zweiten Panel teilen sich 5 Linien die 200 Pixel höhe ergibt Buttons die nur ca 50 hoch sind
das dritte Panel hat dann wieder Buttons in der Höhe 200.

das sieht arg komisch aus.

ich möchte halt nur wissen, wie ich das obere Listing so hin bekomme, dass
die erste Linie (Panel) standard höhen hat. Das zweite Panel scrollfähig wird und sagen wir mal 5 Linien (normale Buttonhöhe) anzeigt
und die letzte Linie (Panel) wieder normale höhe hat.

ist das geanauer beschrieben ?
 

Dragonfire

Bekanntes Mitglied
Jetzt hab ich erst Verstanden,
hoffe ich zumindestens.
Dein Problem ist das Layout der Panels ...

Du verwendest zurzeit ein GridLayout:

The GridLayout class is a layout manager that lays out a container's components in a rectangular grid. The container is divided into equal-sized rectangles, and one component is placed in each rectangle.

Das Layout passt die Größe aller Komponenten dem Größten an
und streckt die Komponenten zur Not.
Ich würde im Hauptfenster ein BorderLayout nehmen.

Im SOUTH-Bereich die JLabels reinpacken und im CENTER das JSCrollPane
mit den dynamischen Panels (die in deinem neuen Thread erzeugt werden).

Hier mal weitere Informationen zu den Layout Managern:

Using Layout Managers (The Java™ Tutorials > Creating a GUI with JFC/Swing > Laying Out Components Within a Container)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
P Swing Empfehlungen für einfaches Computerspiel AWT, Swing, JavaFX & SWT 4
J JavaFX JavaFX Canvas einfaches Zeichenprogramm AWT, Swing, JavaFX & SWT 7
J GUI Anfänger einfaches Program AWT, Swing, JavaFX & SWT AWT, Swing, JavaFX & SWT 3
T Einfaches Problem mit ActionListener AWT, Swing, JavaFX & SWT 2
P Einfaches GUI läuft nicht AWT, Swing, JavaFX & SWT 6
E Einfaches Quadrat zeichnen AWT, Swing, JavaFX & SWT 6
T 2D-Grafik Tutorial für ein einfaches Zeichenprogramm! AWT, Swing, JavaFX & SWT 2
2 Einfaches XY Diagramm selbst zeichnen? AWT, Swing, JavaFX & SWT 6
S LayoutManager Einfaches Programm mit VE und Eclipse3.6 realisieren AWT, Swing, JavaFX & SWT 2
N SWT Einfaches Problem beim Layout AWT, Swing, JavaFX & SWT 8
T einfaches Menü in swing das nicht herunterklappt? AWT, Swing, JavaFX & SWT 4
M Einfaches GUI basteln? AWT, Swing, JavaFX & SWT 5
B Einfaches JScrollPane mit Bildern füllen AWT, Swing, JavaFX & SWT 2
P GridBagLayout einfaches Beispiel geht nicht? AWT, Swing, JavaFX & SWT 5
M treetable einfaches beispiel gesucht AWT, Swing, JavaFX & SWT 6
G Einfaches frame mit einigen Rechtecken (Anfängerfrage) AWT, Swing, JavaFX & SWT 6
M Datenbericht aus Datenbank darstellen.(einfaches Konzept) AWT, Swing, JavaFX & SWT 2
M "einfaches Grafikobjekt erzeugen" AWT, Swing, JavaFX & SWT 8
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
G Zuletzt aktives Fenster, vor dem aktuell aktiven AWT, Swing, JavaFX & SWT 2
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
S Swing Alles beenden bei Fenster mit Scroll-Balken AWT, Swing, JavaFX & SWT 6
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
S Swing Fenster State Machine AWT, Swing, JavaFX & SWT 1
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
P JavaFX Fenster lädt nicht mehr AWT, Swing, JavaFX & SWT 4
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
K Fenster welches den Sieger anzeigt AWT, Swing, JavaFX & SWT 5
O JavaFX Fenster scließen AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
B AWT Fenster schließt nicht AWT, Swing, JavaFX & SWT 2
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
windl Transparentes / halbtransparentes Fenster AWT, Swing, JavaFX & SWT 1
K Fenster mittig im Vollbildschirm - ok, aber ... AWT, Swing, JavaFX & SWT 2
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
D JavaFX (WebStart) Graues Fenster beim Start AWT, Swing, JavaFX & SWT 4
J Button vergrößert sich bei Fenster resize AWT, Swing, JavaFX & SWT 22
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
A Swing Textübergabe innerhalb der Anwendung in unterschiedlichen Fenster AWT, Swing, JavaFX & SWT 8
wolfgang63 JavaFX Animation, Kreise im vorgegebem Takt durchs Fenster laufen lassen AWT, Swing, JavaFX & SWT 3
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
Z Fenster leer, wenn ich ein JTextField erzeuge AWT, Swing, JavaFX & SWT 3
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
X Swing 2 Fenster (1 im Vordergrund) AWT, Swing, JavaFX & SWT 6
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
T JavaFX ControlsFX-Notification öffnet nicht wenn kein JavaFX-Fenster offen. AWT, Swing, JavaFX & SWT 1
E JavaFX JavaFX Fenster nicht schließen AWT, Swing, JavaFX & SWT 4
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben