Swing panels nebeneinander mit BoxLayout.X_AXIS

Reggie()

Bekanntes Mitglied
ich sehe den Fehler nicht, Eigentlich sollte das 1. panel 300 breit sein und das 2. panel 1000, sie sind beide gleich groß.
Java:
public class GUI implements ActionListener {
    JFrame frame;
    JPanel[] panel = new JPanel[12];
    JButton[] button = new JButton[70];
  
    public GUI() {
        frame = new JFrame("Kartenspiel");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(1300, 700);
        frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.X_AXIS));
        panel[0] = new JPanel();
        panel[0].setBorder(new TitledBorder("Info"));
        panel[0].setSize(300, 700);
        panel[1] = new JPanel();
        panel[1].setBorder(new TitledBorder("Rest"));
        panel[1].setSize(1000, 700);
        frame.getContentPane().add(panel[0]);
        frame.getContentPane().add(panel[1]);
        frame.setVisible(true);
    }
 
Zuletzt bearbeitet:
Dazu brauchst du setPreferredSize(...):

Java:
	public GUI() {
		frame = new JFrame("Kartenspiel");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(1300, 700);
		frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.X_AXIS));
		panel[0] = new JPanel();
		panel[0].setBorder(new TitledBorder("Info"));
		panel[0].setPreferredSize(new Dimension(300, 700));
		panel[1] = new JPanel();
		panel[1].setBorder(new TitledBorder("Rest"));
		panel[1].setPreferredSize(new Dimension(1000, 700));
		frame.getContentPane().add(panel[0]);
		frame.getContentPane().add(panel[1]);
		frame.setVisible(true);
	}
 
Wenn du gar keinen LayoutManager definierst dann hast du maximale Freiheit. Du kannst/musst allen Elementen per setBounds eine Größe und Position geben.
 

Neue Themen


Zurück
Oben