Buttons werden nebeneinander angeordnet

Django1337

Mitglied
Ich spiele grad wieder einwenig mit eclipse und Java rum.

Vor kurzem habe ich schonmal damit rumgespielt da ging irgendwie noch alles und jetzt spiele ich wieder damit und komischerweise werden meine Buttons jetzt immer - wenn ich das Fenster groß mache - nebeneinander statt untereinander angezeigt.

Starte ich dass erste Mal das Programm sieht alles gut aus, aber wie gesagt, einmal Bild groß gemacht und schon stehen die Buttons nebeneinander. Selbst wenn ich das Fenster wieder klein mache.

Ich weiß absolut nicht mehr was ich beim letzten Mal anders gemacht habe :/

FENSTER KLEIN:

rn5wygqvyf.png


FENSTER GROß:

52rzvzu3yvi.png


QUELLCODE:

Java:
import java.awt.Color;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Start {

   public static void main (String args[]){
    
     String app_title = "Klickprogramm V.1.0";
    
     JFrame window = new JFrame (app_title);
     window.setSize(900,900);
     window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     window.setLocationRelativeTo(null);
     window.setVisible(true);
    
    
     JPanel buttons = new JPanel();
     window.add(buttons);
  
     JButton test = new JButton ("TEST");
     test.setBounds(5, 5, 100, 20);
     buttons.add(test);

     JButton test1 = new JButton ("TEST1");
     test1.setBounds(5,30,100,20);
     buttons.add(test1);
    
     JButton test2 = new JButton ("TEST1");
     test2.setBounds(5,55,100,20);
     buttons.add(test2);
    
  }
}

Ich wollte eigentlich die Buttons usw wieder auf ein Pane legen, dass ich - wenn ich die Buttons verschieben sollte - dass ganze Pane verschieben kann und gut.

Aber wie gesagt, in erster Linie geht es um die Buttons die irgendwie nicht da bleiben wo sie sollen.
 
Zuletzt bearbeitet von einem Moderator:

Django1337

Mitglied
"Meistens" werden Sie untereinander angeordnet. Ich gehe mal davon aus dass wenn ich welche "neben" die anderen setzen möchte, ein BoxLayout daneben setzen muss?!

Ich meine ich hätte damals bei rumspielen auch das FlowLayout genutzt gehabt,
und dann halt per "setBounds" angegeben wo die Buttons usw. sitzen sollen.

Wenn ich jetzt mal testweise folgendes eintippe, sehe ich nichts außer ein Fenster :/

Java:
JPanel window = new JPanel ();
        window.setLayout(new BoxLayout(window, BoxLayout.Y_AXIS));
        window.setVisible(true);
        
        window.add(new JButton ("Start"));
        window.add(new JButton ("Start1"));
        window.add(new JButton ("Start2"));

Die drei Buttons werden nicht angezeigt.
 

Puppetmaster

Mitglied
Ich spiele grad wieder einwenig mit eclipse und Java rum.

Starte ich dass erste Mal das Programm sieht alles gut aus, aber wie gesagt, einmal Bild groß gemacht und schon stehen die Buttons nebeneinander. Selbst wenn ich das Fenster wieder klein mache.

Ich weiß absolut nicht mehr was ich beim letzten Mal anders gemacht habe :/

Ursache des Problemes ist, das beim Ändern der Fenstergröße der Layoutmanager die Buttons neu anordnet. Da in der Standardeinstellung ein Flowlayout aktiv ist, werden deine Buttons nebeneinander angeordnet.

Es könnte helfen den Layoutmanager für das JPanel auf null zu setzen. Aber selbst dann kann es evtl. noch zu Problemen führen wenn man die Fenstergröße ändert.


Java:
JPanel window = new JPanel ();
        window.setLayout(new BoxLayout(window, BoxLayout.Y_AXIS));
        window.setVisible(true);
    
        window.add(new JButton ("Start"));
        window.add(new JButton ("Start1"));
        window.add(new JButton ("Start2"));

Die drei Buttons werden nicht angezeigt.

Es sieht so aus als versuchst du das JPanel window direkt anzuzeigen ohne ein übergeordnetes Element. Das kann so nicht funktionieren. Das oberste Element muss immer ein Container sein, der die Klasse RootPaneContainer implementiert (wie z.B. JFrame, JDialog oder JWindow).
 

javampir

Bekanntes Mitglied
bei so was würde ich aber vom null layout abraten. wenn du etwas untereinander und mit gleicher breite haben möchtest könnte auch eine Box mit BoxLayout helfen.
wenn du ein fenster siehst wo nix drin ist: hast du dein JPanel (hier window) auch geadded?
 

Django1337

Mitglied
Das oberste Element muss immer ein Container sein, der die Klasse RootPaneContainer implementiert (wie z.B. JFrame, JDialog oder JWindow).

Ich denke so sollte es richtig sein um etwas anezeigt zu bekommen,oder nicht?!

Java:
        JFrame window = new JFrame (app_title);
        window.setSize(800,800);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setLayout(null);
        window.setLocationRelativeTo(null);
        window.setVisible(true);
       
        JPanel window_pane = new JPanel();
        window_pane.setLayout(new BoxLayout(window, BoxLayout.Y_AXIS));
        window_pane.setVisible(true);
               
        window_pane.add(new JButton ("Start"));
        window_pane.add(new JButton ("Start1"));
        window_pane.add(new JButton ("Start2"));

        window.add(window_pane);

hast du dein JPanel (hier window) auch geadded?

Jap.
 

javampir

Bekanntes Mitglied
also...
1. das frame sollte man immer als letztes visible setzen.
2. window.setLocationRelativeTo(null); kann man sich schenken
3. window.setLayout(null); würd ich nicht machen; das stardard Borderlyout passt doch hier ganz gut
4. ich krieg nen compilerfehler, BoxLyout cannot be shared. ich wür Box hernehmen.
5. ein JPanel braucht man nicht visible setzen

insgesamt also so:
Java:
JFrame window = new JFrame (app_title);
window.setSize(800,800);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Box window_pane = new Box(BoxLayout.Y_AXIS);
window_pane.add(new JButton ("Start"));
window_pane.add(new JButton ("Start1"));
window_pane.add(new JButton ("Start2"));
window.add(window_pane);
window.setVisible(true);
 

Django1337

Mitglied
Ich weiß nicht, irgendwie nicht so richtig dass was ich wollte. Wie gesagt, damals hatte ich alle Buttons, Labels usw. über *.setBounds positioniert.

Hier (bei Box etc.) scheint es nicht zu funktionieren, oder sehe ich dass falsch?

Des Weiteren ist es so, dass die Buttons "direkt" (also ohne Freiraum) untereinander bzw. aneinander liegen.
 

javampir

Bekanntes Mitglied
setBounds muss man nur manuell machen, wenn kein layoutmanager verwendet wird, sonst macht der das für dich. für freiraum kannst du leere objekte einfügen.
alternative zu box: panel mit gridlayout, da kannst du dann direkt hgap und vgap einstellen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
A Swing Buttons werden trotz setVisible nicht dargestellt AWT, Swing, JavaFX & SWT 14
R Swing Buttons werden nicht angezeigt AWT, Swing, JavaFX & SWT 4
F JTable soll mit Buttons befüllt werden, aber nicht in jede Zelle einer Spalte AWT, Swing, JavaFX & SWT 3
T Buttons werden nicht angezeigt AWT, Swing, JavaFX & SWT 6
S Buttons werden nach action grau AWT, Swing, JavaFX & SWT 4
L JPanel: Buttons werden nicht angezeigt AWT, Swing, JavaFX & SWT 2
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
jojoge Wie erstelle ich runde Buttons mit Farbe? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
volcanos SpringLayout mit zusätzlichen Buttons außerhalb des SpringLayout AWT, Swing, JavaFX & SWT 33
K Swing Buttons erst blinken lassen und dann abfragen, ob sie gedrückt worden sind AWT, Swing, JavaFX & SWT 2
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
O Swing JOptionPane.showOptionDialog - Wie kann ich Buttons größer machen AWT, Swing, JavaFX & SWT 10
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
B JavaFX DropDown Menu mit ausführbaren Buttons AWT, Swing, JavaFX & SWT 1
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
K Buttons dynamisch erstellen (NetBeans) AWT, Swing, JavaFX & SWT 10
S Kreis vergrößern/verkleinern mit Buttons AWT, Swing, JavaFX & SWT 1
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
CptK Wieso wird nur ein Teil meiner Buttons angezeigt? AWT, Swing, JavaFX & SWT 1
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
J TicTacToe Buttons AWT, Swing, JavaFX & SWT 14
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
C Buttons funtionieren nicht AWT, Swing, JavaFX & SWT 10
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
G vorgefertigte Buttons oder neue Komponente mit MouseListener? AWT, Swing, JavaFX & SWT 0
Neumi5694 Sprache der Standard-Buttons AWT, Swing, JavaFX & SWT 7
Timo_neu_in_java Buttons Erstellen AWT, Swing, JavaFX & SWT 6
H JavaFX TableCell mit Buttons AWT, Swing, JavaFX & SWT 1
kilopack15 Buttons ohne Funktion AWT, Swing, JavaFX & SWT 2
S Keylistener reagiert bei Buttons nicht. AWT, Swing, JavaFX & SWT 8
S ActionListener für alle Buttons AWT, Swing, JavaFX & SWT 26
T Buttons auf Tablet viel kleiner als am PC AWT, Swing, JavaFX & SWT 0
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
R 2D-Grafik Buttons mit Slick2D und LWJGL AWT, Swing, JavaFX & SWT 2
J JavaFX Buttons mit Array erzeugen AWT, Swing, JavaFX & SWT 1
JG12111989 Buttons funktionieren nicht AWT, Swing, JavaFX & SWT 4
M Buttons in JSplitPane hinzufügen AWT, Swing, JavaFX & SWT 6
X Swing Anwendung regaiert auf keine Buttons mehr wärend while(scanner.hasNextLine()) ausgeführt wird. AWT, Swing, JavaFX & SWT 4
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
A Swing JPanel zeigt Buttons nicht an AWT, Swing, JavaFX & SWT 4
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
I JavaFX Buttons und TableView AWT, Swing, JavaFX & SWT 2
K Swing Durch Methode erzeugte Buttons ansteuern AWT, Swing, JavaFX & SWT 5
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
D JavaFX Dynamisch erzeugte Buttons sollen Code ausführen. AWT, Swing, JavaFX & SWT 2
D Buttons erscheinen nicht auf Frame AWT, Swing, JavaFX & SWT 2
M 4-Gewinnt mit Buttons AWT, Swing, JavaFX & SWT 1
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
wolfgang63 JavaFX Transparenter Hintergrund aber sichtbare Buttons AWT, Swing, JavaFX & SWT 6
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
gamebreiti auf usereingabe warten mit GUI(nur Labels, Buttons etc. keine Texteingaben) AWT, Swing, JavaFX & SWT 3
W Buttons verschieben AWT, Swing, JavaFX & SWT 3
P Buttons/Labels auf GUI positionieren AWT, Swing, JavaFX & SWT 2
X Swing setContentPane verdeckt mir alle Buttons Labels etc... AWT, Swing, JavaFX & SWT 14
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2
A Radio Buttons sollen den Text der text Area bestimmen AWT, Swing, JavaFX & SWT 9
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
U Buttons schräg implementieren AWT, Swing, JavaFX & SWT 4
X buttons aus externe klasse lesen? AWT, Swing, JavaFX & SWT 3
V Buttons sehen immer "active" aus AWT, Swing, JavaFX & SWT 6
K Event Handling 2 Buttons und Thread stop AWT, Swing, JavaFX & SWT 3
D Buttons erscheinen nicht auf dem zweiten Frame AWT, Swing, JavaFX & SWT 4
D Wie kann ich Buttons und Labels besser anordnen AWT, Swing, JavaFX & SWT 4
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
M Menü mit Buttons AWT, Swing, JavaFX & SWT 8
H Swing JTabbedPane: Zusätzliche Buttons neben den Tabs AWT, Swing, JavaFX & SWT 7
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
U Swing Buttons generieren AWT, Swing, JavaFX & SWT 19
G Swing Buttons in Layouts frei platzieren AWT, Swing, JavaFX & SWT 7
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
B Buttons auf JLabel? AWT, Swing, JavaFX & SWT 4
J ActionListener für Buttons AWT, Swing, JavaFX & SWT 3
1 Buttons in Kombination mit Linien AWT, Swing, JavaFX & SWT 3
K Aussehen des Buttons resetten AWT, Swing, JavaFX & SWT 4
C Verschiebbare "Buttons" in einer Tabelle AWT, Swing, JavaFX & SWT 3
A JButton - Klicks zählen auf mehreren Buttons AWT, Swing, JavaFX & SWT 2
H Swing Button Klick soll "Untermenü-Buttons" erzeugen AWT, Swing, JavaFX & SWT 2
dzim Toolbar - Problem bei enable/disable von Buttons AWT, Swing, JavaFX & SWT 6
E Netbeans: Buttons mit Label bzw. Rahmen unterlegen AWT, Swing, JavaFX & SWT 8
F Grafik mit Buttons versehen AWT, Swing, JavaFX & SWT 8
J JOptionPane mit zwei Buttons?! AWT, Swing, JavaFX & SWT 3
K Schachbrett mit buttons AWT, Swing, JavaFX & SWT 2
B Buttons entfernen / hinzufügen AWT, Swing, JavaFX & SWT 5
TheWhiteShadow Swing Buttons in Liste AWT, Swing, JavaFX & SWT 7
C AWT Buttons verschwinden, wenn Fenster Vollbild gesetzt wird AWT, Swing, JavaFX & SWT 38
C AWT Verwendung von Buttons in Spielen AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben