NullLayout und JButtons

TheAnfänger

Mitglied
Hallo, ich habe ein kleines Problem:

Ich möchte meine JButtons fix an einem Ort innerhalb eines JPanels platzieren und auch die Grösse festlegen.

Soweit ich weiss, muss man dazu nur das Layout mit
Code:
setLayout(null);
auf null setzen und den Knöpfen danach
Code:
setBounds(x, y, width, height);
ihre Grösse und Position zuweisen.

Das klappt aber irgendwie nicht.
Genauer: Die Knöpfe werden einfach nicht angezeigt. Wenn ich das Layout zu einem anderen ändere, werden sie wieder angezeigt, aber die Position und Grösse stimmt dann eben nicht.

Mein Code:
Java:
       final int buttonHeight = 100;
       untereReihe = new JPanel();
       untereReihe.setBackground(new Color(0, 0, 0, 0));
       untereReihe.setPreferredSize(new Dimension(canvas.getWidth(), buttonHeight));
       untereReihe.setLayout(null);
       final int buttonWidth = untereReihe.getWidth() / allButtons.size();
       final int y = untereReihe.getHeight()-buttonHeight;
        for (int i=0; i<allButtons.size(); i++) {
            untereReihe.add(allButtons.get(i));
            allButtons.get(i).setBackground(new Color(0, 0, 150, 125));
            allButtons.get(i).setForeground(Color.white);
            allButtons.get(i).setBounds(new Rectangle(i*buttonWidth, y, buttonWidth, buttonHeight));
        }

Danke für jegliche Hilfe
 
Zuletzt bearbeitet:

thet1983

Top Contributor
zuerst solltes du die buttons erstellen, dann die Settings setzten und erst wenn alles getan ist sollte man den button ans panel adden...
was noch sein könnte ist wann setzt die die Frame auf visible?
 

Thallius

Top Contributor
Ich würde einfach mal dem Panel auch die Bounds setzen statt preferredSize zu verwenden. Und zwar NACHDEM du das NullLayout gesetzt hast.
 

TheAnfänger

Mitglied
Ich habe jetzt eine Lösung gefunden:
Java:
        final int buttonHeight = 100;
        untereReihe = new JPanel();
        untereReihe.setBackground(new Color(0, 0, 0, 0));
        untereReihe.setPreferredSize(new Dimension(canvas.getPreferredSize().width, buttonHeight));
        untereReihe.setLayout(null);
        final int buttonWidth = untereReihe.getPreferredSize().width / allButtons.size();
        final int y = untereReihe.getPreferredSize().height-buttonHeight;
        for (int i=0; i<allButtons.size(); i++) {
            allButtons.get(i).setBackground(new Color(0, 0, 150, 125));
            allButtons.get(i).setForeground(Color.white);
            allButtons.get(i).setBounds(new Rectangle(i*buttonWidth, y, buttonWidth, buttonHeight));
            untereReihe.add(allButtons.get(i));
        }
Vorher hatte ich die Grösse über getHeight() und getWidth() abgefragt, aber die waren immer 0, weil das Fenster noch gar nicht gezeichnet wurde! Jetzt habe ich einfach alles mit preferredSize() gemacht und siehe da, es funktioniert:)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JPanel mit NullLayout Java Basics - Anfänger-Themen 4
G in OverlayLayout NullLayout verwenden Java Basics - Anfänger-Themen 6
CptK Bild beim betätigen eines JButtons Java Basics - Anfänger-Themen 6
F Interface JButtons werden nicht angezeigt... Java Basics - Anfänger-Themen 5
S Jbuttons an Koordinaten Java Basics - Anfänger-Themen 33
M JButtons verschieben Java Basics - Anfänger-Themen 13
J Problem bei Param.übergabe und dem erstellen von JButtons Java Basics - Anfänger-Themen 4
N JButtons vergleichen Java Basics - Anfänger-Themen 3
L Platz auf JButtons verändern Java Basics - Anfänger-Themen 18
D java jbuttons auf dem Hintergrundbild Java Basics - Anfänger-Themen 11
E JButtons auf JFrame nicht immer sichtbar Java Basics - Anfänger-Themen 4
Q Random Funktion JButtons Java Basics - Anfänger-Themen 6
X Probleme mit JButtons Java Basics - Anfänger-Themen 6
A JButtons dynamisch generieren mit verschiedenen actionhandlern Java Basics - Anfänger-Themen 6
D JTextField anstatt Jbuttons Java Basics - Anfänger-Themen 9
0 jButtons einen Int wert zuweisen MineSweaper Java Basics - Anfänger-Themen 3
P Wert eines JButtons Java Basics - Anfänger-Themen 6
R JButtons in eine Array legen GUI Java Basics - Anfänger-Themen 5
M JPanel, JButtons, Borderlayout Java Basics - Anfänger-Themen 8
M Dynamische JButtons mit ActionListener Java Basics - Anfänger-Themen 7
Z JButtons & Actionlistener Java Basics - Anfänger-Themen 5
W Variable anzahl an JButtons Java Basics - Anfänger-Themen 5
A Problem mit einem Array aus JButtons Java Basics - Anfänger-Themen 4
K unbestimmte Anzahl JButtons Java Basics - Anfänger-Themen 2
H JButtons anpassen Java Basics - Anfänger-Themen 3
G Text des JButtons? Java Basics - Anfänger-Themen 2
J JButtons mit GridBagLayout anordnen Java Basics - Anfänger-Themen 9
J Rand eines JButtons entfernen Java Basics - Anfänger-Themen 3
M umbennenen eines JButtons Java Basics - Anfänger-Themen 2
G JButtons mit Rand Java Basics - Anfänger-Themen 3
M JButtons werden nicht angezeigt Java Basics - Anfänger-Themen 13
B Größe von JButtons Java Basics - Anfänger-Themen 2
R Buttons können sich bewegen und JButtons nicht? Java Basics - Anfänger-Themen 5
V Problem mit JButtons und JTextField Java Basics - Anfänger-Themen 5
C ActionEvent bei JButtons Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben