JPanel mit Null Layout entfernt Buttons

Extremefall

Bekanntes Mitglied
Hallo,
ich habe momentan das Problem, dass die JButtons aus meinem JPanel verschwinden, wenn ich das Null Layout festlege. Ich habe noch keine Positions und Größeneinstellungen der JButtons vorgenommen. Vorher war das Panel so in der Art:

Java:
JPanel panel = new JPanel();

Layout wurde nicht mehr festgelegt. Wenn ich nun allerdings folgendes schreibe:

Java:
JPanel panel = new JPanel();
panel.setLayout(null);

dann werden alle Buttons nicht mehr angezeigt. Muss ich die Position erst festlegen etc? Wie kann ich das Problem lösen? Ps.: Das Panel liegt auf einem weiteren Panel.
 

Extremefall

Bekanntes Mitglied
Die Buttons sollen aber eine bestimmte Größe haben und das ist ja mit vielen LayoutManagern nicht möglich zu bewerkstelligen oder? setBounds bewirkt leider nichts mit den Wert (0,0,20,20). Das gleiche ist es bei setSize(30,30);

Edit: Fehlte einfach das Repaint? Funktioniert so jedenfalls immer noch nicht:

Java:
jbutton.setBounds(0,0,10,10);
jbutton.repaint();
 
Zuletzt bearbeitet:
S

SlaterB

Gast
ein repaint() ist nicht nötig, andere Fehlerursachen anhand deines nicht vorhanden Codes:
- jbutton ist nicht im Panel drin,
- Panel selber nicht in der GUI oder mit zu wenig Platz
- falls erst zur Laufzeit nach setVisible(true) am besten validate() + repaint() am JFrame aufrufen
- 0,0,10,10 ist auch arg knapp, im Extremfall vielleicht unter der Titelleiste verborgen, fang mal mit 50x50 an
- ?

-> immer vollständiges Mini-Testprogramm posten
 

Extremefall

Bekanntes Mitglied
Es funktioniert leider immer noch nicht. Hier mein Code:
Java:
// Problem hat sich gelöst. Vielen Dank

Ps.: Deswegen wollte ich nicht das komplexe Programm gleich posten.
 
Zuletzt bearbeitet:
S

SlaterB

Gast
kurzes Testprogramm nicht verstanden? nur EIN Button bitte,

> Deswegen wollte ich nicht das komplexe Programm gleich posten.
keiner sagt, dass du nicht dein Programm eine Stunde lang umschreiben darfst ;)

dazu: weder 'jbutton' noch 'setBounds(0,0,10,10)' sind in deinem Code enthalten

--------

in grenzenloser Selbstaufgabe habe ich aber dann doch versucht, den Weg von redbuttonjbutton zu verfolgen,
der landet in buttonspanel und buttonspanel mit null-Layout in headline mit BorderLayout.WEST;

BorderLayout kennst sicher auch nicht, das versucht den CENTER-Bereich so groß wie möglich zu machen, alles andere wird so weit minimiert wie möglich,
da buttonspanel kein automatisches Layout hat, wird es mit Größe 0x0 angenommen, ist also nicht zu sehen, egal wie dessen Inhalt absolut positioniert ist, das wird nicht automatisch berücksichtigt,

Reihenfolge der Aufgaben beachten:
bevor du an irgendwelche Buttons in buttonspanel einfügst, überzeuge dich doch erst, dass buttonspanel einigermaßen ordentlich funktioniert,
setSize() dürfte helfen,
und setze eine Hintergrundfarbe oder einen Border/ Rahmen, um zu sehen was das Panel so macht
 

eRaaaa

Top Contributor
redbuttonjbutton.setBounds(0, 0, 30, 30);
danach kommt nochmal
redbuttonjbutton.setSize(20, 20);

entscheide dich....

Und schau dir mal an, wie groß das Panel "buttonspanel" bei dir ist! Wie soll da der Button angezeigt werden....
 

Extremefall

Bekanntes Mitglied
Das mit dem Center wusste ich nicht. Also einfach jetzt dem buttonpanel eine Größte mitgeben? Ok, danke für die Info. Leider funktioniert es noch nicht, wenn ich das Panel mit setSize(100,100) setze. Das Panel sieht man nicht, also auch nicht den Rahmen etc.
 
S

SlaterB

Gast
so ist Swing, eine Ansammlung von Dingen wie verschiedenen Layouts, die miteinander funktionieren sollen, aber nicht perfekt abgestimmt sind,

headline in ein vorgegebenes Layout, das schaut sie die gesetzte preferredSize an, errechnet daraus die gelayoutete Size, setzt diese wieder und am Ende wird so gemalt,

buttonspanel.setSize(300) -> BorderLayout sieht preferredSize 0, errechnet Size 0, ganz egal was manuell gesetzt wurde,
buttonspanel.setPreferredSize(300) -> BorderLayout sieht preferredSize 300, errechnet Size 300 oder ähnlich

buttonspanel hat dagegen das null-Layout, für die Buttons darin ist setSize() verbindlich,
und der andere Wert setPreferredSize() sinnlos, denn kein Layout schaut sich diesen Wert an um die richtige Size zu errechnen und zu setzen

------

headline selber ist bei dir übrigens auch wieder nur im NORTH-Bereich eines anderen Panels drin,
zum Glück wird die preferredSize von buttonsPanel durchgereicht, das title-JLabel hilft auch, sonst eine Stufe mehr die zu beachten ist
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A JPanel mit Layout(null) in JPanel AWT, Swing, JavaFX & SWT 4
O JScrollPane beinhaltet JPanel mit null Layout kein Scrollen AWT, Swing, JavaFX & SWT 3
H getGraphics() eines JPanel liefert immer null zurück AWT, Swing, JavaFX & SWT 6
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
M Zwei JPanel übereinander nur vorderes "repainten" AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
DaCrazyJavaExpert Swing JPanel "ContentPane" wird nicht gesetzt/angezeigt AWT, Swing, JavaFX & SWT 16
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing JPanel wird in JScollPane nicht angezeigt AWT, Swing, JavaFX & SWT 2
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
B Bar Plot in Swing JPanel AWT, Swing, JavaFX & SWT 0
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
S JPanel rotieren, Bild ist abgeschnitten, Clipping? AWT, Swing, JavaFX & SWT 0
M Swing JPanel flüssig verschieben AWT, Swing, JavaFX & SWT 5
G Nur ein JPanel wird angezeigt AWT, Swing, JavaFX & SWT 9
kilopack15 JPanel im laufenden Zustand einfärben AWT, Swing, JavaFX & SWT 2
kilopack15 JPanel Farbverwaltung AWT, Swing, JavaFX & SWT 1
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
A Swing JLabels in einer ForEach Schleife an den JPanel anheften (UNO Netzwerkspiel) AWT, Swing, JavaFX & SWT 1
L JPanel zeichnet im Konstrukter erzeugten Hintergrund nicht AWT, Swing, JavaFX & SWT 10
Java_RY wie kann ich auf JButtons in einem JPanel zugreifen AWT, Swing, JavaFX & SWT 3
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3
Meeresgott Swing Umgang mit JPanel AWT, Swing, JavaFX & SWT 4
R 2D-Grafik PNG Bild per Graphics auf JPanel AWT, Swing, JavaFX & SWT 9
K JPanel Bilder bei Windows nicht darstellbar AWT, Swing, JavaFX & SWT 6
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
J Swing Zeichenfläche im JPanel des Haupfenster anzeigen lassen AWT, Swing, JavaFX & SWT 4
A Swing JPanel zeigt Buttons nicht an AWT, Swing, JavaFX & SWT 4
R JPanel überzeichnet alles? AWT, Swing, JavaFX & SWT 1
D Von JPanel auf anderes JPanel zugreifen AWT, Swing, JavaFX & SWT 9
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
I JPanel - Verwaltung/ Anordnung AWT, Swing, JavaFX & SWT 4
T JComponents zur Laufzeit auf JPanel darstellen AWT, Swing, JavaFX & SWT 10
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
J Linien auf JPanel zeichnen AWT, Swing, JavaFX & SWT 3
L ImageIcon auf JPanel wird nicht angezeigt(keiner Fehlermeldung) AWT, Swing, JavaFX & SWT 11
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
T JTextField Array im JPanel wird nicht komplett angezeigt AWT, Swing, JavaFX & SWT 7
K Swing JPanel ueber komplette Form legen AWT, Swing, JavaFX & SWT 1
W Swing Größenänderung vom JPanel im JScrollPane und anschließendes positionieren AWT, Swing, JavaFX & SWT 2
R Komponenten von JPanel bleiben unsichtbar AWT, Swing, JavaFX & SWT 2
O JTabeddpane aber jedes JPanel als eigene Klasse anlegen AWT, Swing, JavaFX & SWT 7
llabusch Linien in JPanel zeichnen AWT, Swing, JavaFX & SWT 6
I (JPanel) paintComponent mit Zeitverschiebung (Sleep/Wait) AWT, Swing, JavaFX & SWT 1
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
S jpanel anchor bottom AWT, Swing, JavaFX & SWT 1
thobren Swing Im JPanel wird nur TextArea gelöscht AWT, Swing, JavaFX & SWT 13
A JPanel größe verändern AWT, Swing, JavaFX & SWT 4
G JPanel komponente Löschen AWT, Swing, JavaFX & SWT 7
F JPanel "verschmelzen" GridLayout AWT, Swing, JavaFX & SWT 10
B Dropdown "Einstellungen" auf JPanel, transparent AWT, Swing, JavaFX & SWT 1
D GlassPane für JPanel AWT, Swing, JavaFX & SWT 2
F JPanel "zeichnet" keinen Text AWT, Swing, JavaFX & SWT 14
T Swing Index für Komponente in JPanel? AWT, Swing, JavaFX & SWT 6
Z Probleme mit JPanel's AWT, Swing, JavaFX & SWT 6
T Probleme mit Anzeige von Elementen im JPanel AWT, Swing, JavaFX & SWT 1
R JScrollPane überdeckt JPanel? AWT, Swing, JavaFX & SWT 7
O 2D-Grafik Zeichenfläche auf JPanel AWT, Swing, JavaFX & SWT 4
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
A JPanel Bild laden (Porblem mit Dateipfad) AWT, Swing, JavaFX & SWT 2
K Swing paintComponent, JPanel auslagern, ChangeEvents AWT, Swing, JavaFX & SWT 7
L GUI - Jpanel - Splitpane will nicht aktualisieren AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben