Swing Hilfe bei Layout

Jhue89

Bekanntes Mitglied
Hallo Zusammen,
ich benötige mal eure Hilfe beim erstellen des Layouts.

ich bekommes einfach nicht sauber hin. ich hab schon einiges versucht.
Ich möchte eigentlich nur links und rechts ein Panel mit einer festen breite und in der mitte soll sich das Panel vergrößern wenn ich auf Vollbild umschalte .

Das linke Panel ist soweit fertig und sollte doch eigentlich wenn ich im Übergeordenten Frame Borderlayout angebe und eine Feste Breite eintrage. Dort fest veranketer werden oder? Aber das Linke Panel geht über das Mittler Panel hinaus.

Villeicht könnt ihr mal drüber gucken was ich falsch mache.

Java:
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.ArrayList;
import java.awt.BorderLayout;

import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;



import java.awt.Color;
import java.awt.Rectangle;
import java.awt.GridLayout;
import java.awt.Insets;

import javax.swing.GroupLayout.Alignment;
import java.awt.FlowLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Point;
import javax.swing.border.BevelBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;


public class MainWindow extends JFrame {
    private final JButton btnSchachtelLaden;
    private final JLabel[] lblSchachtel = new JLabel[10];
    private final JComboBox<String>[] cmbSchachtel = new JComboBox[10];
    private final JButton btnSchachtelHinzufügen;
    private final JButton btndelete;
    private String path;
    private String[] boxcardName;
    private final Boolean showUUID = false;
    
    JPanel pnlLeft = new JPanel();
    JPanel pnlCenter = new JPanel();
    JPanel pnlRight = new JPanel();
    JPanel pnlTop    = new JPanel();
    JPanel pnlBottom    =new JPanel();
    
    private JMenuBar menuBar;
    private windowLanguage wStrings = new windowLanguage();
 
    public JPanel contentPane;


    private int Schachtelanzahl = 1;

    public static void main(String[] args) {
        
    }

    public MainWindow() {
        setTitle("Test Programm");
        setSize(1500, 900);
        setLocationRelativeTo(null);
        System.out.println("Programm wurde gestartet");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        btnSchachtelHinzufügen = new JButton("Schachtel hinzufügen");
        btnSchachtelLaden = new JButton("Datei laden");
        lblSchachtel[0] = new JLabel("Schachtel Teil 1");
        
        for (int i = 1; i<=9; i++) {
            lblSchachtel[i] = new JLabel("Schachtel Teil " + (i+1));
            cmbSchachtel[i] = new JComboBox<String>();

        }

        cmbSchachtel[0] = new JComboBox<String>();       
        cmbSchachtel[0].addItem("Kein Verzeichnis ausgewählt");
        
        btndelete = new JButton();
        btndelete.setMargin(new Insets(0, 0, 0, 0));
        btndelete.setIcon(new ImageIcon("Z://Eclipse_workspace//Boxdrawer_Plan//Font test//src//res//Images//delet.png"));
        getContentPane().setLayout(new BorderLayout(0, 0));
        
        getContentPane().add(pnlTop, BorderLayout.NORTH);
        pnlTop.setBorder(new LineBorder(new Color(0, 0, 0)));       
      
        
        getContentPane().add(pnlBottom, BorderLayout.SOUTH);
        pnlBottom.setBorder(new LineBorder(new Color(0, 0, 0)));
        getContentPane().add(pnlRight,BorderLayout.EAST);
        pnlRight.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.LOWERED, new Color(255, 255, 255), new Color(160, 160, 160)), "Voransicht", TitledBorder.LEADING, TitledBorder.BELOW_TOP, null, new Color(255, 0, 0)));
        
        getContentPane().add(pnlLeft, BorderLayout.WEST);
        pnlLeft.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0)), "TEST", TitledBorder.LEADING, TitledBorder.BELOW_TOP, null, new Color(0, 0, 0)));
        
        getContentPane().add(pnlCenter,BorderLayout.CENTER);
        pnlCenter.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0), 2), "Schachteleditor", TitledBorder.LEADING, TitledBorder.BELOW_TOP, null, new Color(0, 0, 0)));
        
      
        pnlLeft.setSize(new Dimension(460, 200));
        pnlLeft.setLocation(new Point(15, 20));
     //   pnlLeft.setBounds(new Rectangle(10, 5, 460, 800));
    
        
 
        getContentPane().add(pnlLeft);
        pnlCenter.setPreferredSize(new Dimension(200, 800));
        pnlCenter.setSize(new Dimension(200, 800));
        pnlCenter.setLocation(new Point(465, 10));
        pnlCenter.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
        
        
        pnlRight.setLocation(new Point(700, 10));
        pnlRight.setSize(new Dimension(260, 800));
        pnlRight.setBounds(new Rectangle(1270, 5, 192, 844));
        pnlRight.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
        btnSchachtelLaden.setBounds(10, 21, 400, 36);
        lblSchachtel[0].setBounds(10, 55, 400, 36);
        cmbSchachtel[0].setBounds(10, 83, 400, 36);
        btnSchachtelHinzufügen.setBounds(10, 130, 400, 36);
        btndelete.setBounds(415, 83, 36, 36);
        
      
        
      
        pnlLeft.setLayout(null);
        pnlLeft.add(btnSchachtelLaden);
        pnlLeft.add(lblSchachtel[0]);
        pnlLeft.add(cmbSchachtel[0]);
    //    pnlLeft.add(btndelete);
        pnlLeft.add(btnSchachtelHinzufügen);
        
        
        
      //MenuBar aus Boxdrawer  ohne Funktionen
        menuBar = new JMenuBar();
        setJMenuBar(menuBar);

        JMenu mnDatei = new JMenu(wStrings.getsDatei());
        menuBar.add(mnDatei);

        JMenuItem mntmSpeichern = new JMenuItem("Speichern");
        mntmSpeichern.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                
            }
        });
        mnDatei.add(mntmSpeichern);

        JMenuItem mntmLaden = new JMenuItem("Laden");
        
        mnDatei.add(mntmLaden);

        JMenuItem mntmNeu = new JMenuItem("Neue Zeichnung");
        
    
        mnDatei.add(mntmNeu);

        JMenuItem mntmBoxErstellen = new JMenuItem("Export Boxcard");
        

        menuBar = new JMenuBar();
        setJMenuBar(menuBar);

        
        JMenu mnAnzeige = new JMenu("Info");
        menuBar.add(mnAnzeige);

        JMenuItem mntmVersionsInfo = new JMenuItem("Versions Info");
        
      
    
        
      
        btnSchachtelHinzufügen.addActionListener(this::schachtelHinzufuegenAction);
        btnSchachtelLaden.addActionListener(this::schachtelLadenAction);
        btndelete.addActionListener(this::deleteSchachel);
        setVisible(true);
    }
//*************************Methoden****************************************
    //Array löschen
    public static void deleteArray(String[] del) {
        for (int i = 0; i < del.length; i++)
            del[i] = null;
    }
    //Schachtelpfad auswählen und einträge in Combobox schreiben
    public String[] schachtelEinlesen(String path, String filter, JComboBox<String> cmb, Boolean uuid) {

        File f = new File(path);
        File[] l = f.listFiles();
        String[] array = new String[l.length + 1];

        int y = 1;
        array[0] = "keine Schachtel ausgewählt";
        cmb.addItem(array[0]);

        for (int i = 1; i < l.length; i++) {
            if (l[i].getName().contains(filter)) {
                if (uuid == true) {
                    array[y] = l[i].getName();
                    System.out.println(array[y]);
                    cmb.addItem(array[y]);
                    y++;
                } else {
                    array[y] = l[i].getName();
                    array[y] = zerschnippel(array[y], ".");
                    cmb.addItem(array[y]);
                    y++;
                }
            }
        }
        return array;
    }
    //String zerlegen
    public String zerschnippel(String param, String lookAt) {
        return param.substring(0, param.indexOf(lookAt));
    }
//********************Methoden für Actions****************************
    
  /*  public void testOutputAction(ActionEvent e) {
        System.out.println(e.getSource());
        if (e.getSource() == this.cmbSchachtel[0]) {
            System.out.println("geht doch");
        } else if (e.getSource() == this.cmbSchachtel[1]) {
            System.out.println("geht doch1");

        }
  }
 */
    public void schachtelHinzufuegenAction(ActionEvent e1) {
        if (Schachtelanzahl < lblSchachtel.length - 1) {
            lblSchachtel[Schachtelanzahl].setVisible(true);
            lblSchachtel[Schachtelanzahl].setBounds(10, (55 + (Schachtelanzahl) * 60), (400), 30);
            pnlLeft.add(lblSchachtel[Schachtelanzahl]);

            try //Fehlerabfangen wenn noch keine Datei geladen wurde
            {
                boxcardName = schachtelEinlesen(path, ".boxcard", cmbSchachtel[Schachtelanzahl], showUUID);
            } catch (Exception e4) {
                cmbSchachtel[Schachtelanzahl].addItem("Kein Verzeichnis ausgewählt");
            }
            cmbSchachtel[Schachtelanzahl].setBounds(10, (83 + (Schachtelanzahl) * 60), 400, 36);
            cmbSchachtel[Schachtelanzahl].addActionListener(this::printSelectedItem);
            pnlLeft.add(cmbSchachtel[Schachtelanzahl]);           
            btndelete.setLocation(415, (83 + (Schachtelanzahl) * 60));
            pnlLeft.add(btndelete);
            btnSchachtelHinzufügen.setLocation(10, (130 + (Schachtelanzahl) * 60));
            btndelete.setEnabled(true);

            //frame neu generieren
            getContentPane().validate();
            getContentPane().repaint();

            Schachtelanzahl++;
            if (Schachtelanzahl == lblSchachtel.length - 1) {
                btnSchachtelHinzufügen.setEnabled(false);
            }
        }
    }

    public void schachtelLadenAction(ActionEvent e2) {
        // Dateiverzeichnis auswählen

        JFileChooser Filesys = new JFileChooser(new File("Z:\\boxdb_test\\boxpara\\"));
        Filesys.setMultiSelectionEnabled(true);
        Filesys.setDialogTitle("Verzeichnis Laden");
        System.out.println("Geöffnet");
        Filesys.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int returnVal = Filesys.showOpenDialog(null);

        //Beginn Fehlerabfrage
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File[] file = Filesys.getSelectedFiles();

            // Build array

            System.out.println(file.length);
            path = file[0].getPath();
            System.out.println(path);

            for (int i = 0; i < Schachtelanzahl; i++) {
                cmbSchachtel[i].removeAllItems();
                boxcardName = schachtelEinlesen(path, ".boxcard", cmbSchachtel[i], showUUID);
            }
//            System.out.println(boxcardName[81]);
            System.out.println("Dialog geöffnet");
        } else if (returnVal == JFileChooser.CANCEL_OPTION) {
        } else if (returnVal == JFileChooser.ERROR_OPTION) {
        }
    }
    
    public void deleteSchachel(ActionEvent e)
    {
            
            
            
            
                     Schachtelanzahl--;
                     //btndelete.setEnabled(true);
                     pnlLeft.remove(cmbSchachtel[Schachtelanzahl]);
                    pnlLeft.remove(lblSchachtel[Schachtelanzahl]);
                    
                  
                    btndelete.setLocation(415, (83 + (Schachtelanzahl-1) * 60));
                    pnlLeft.add(btndelete);
                    btnSchachtelHinzufügen.setLocation(10, (130 + (Schachtelanzahl-1) * 60));
                    getContentPane().validate();
                    getContentPane().repaint();
                    System.out.println(Schachtelanzahl);
                      
                    if (Schachtelanzahl <= lblSchachtel.length - 1)
                    {
                          btnSchachtelHinzufügen.setEnabled(true);
                    }
                    if (Schachtelanzahl == 1)
                     {
                         btndelete.setEnabled(false);
                     }
                
   }

    public void printSelectedItem(ActionEvent e) {
        if (e.getSource() instanceof JComboBox) {
            JComboBox<String> comboBox = (JComboBox) e.getSource();
            System.out.println(comboBox.getSelectedItem());
        }
    }
}
 

mihe7

Top Contributor
Ich möchte eigentlich nur links und rechts ein Panel mit einer festen breite und in der mitte soll sich das Panel vergrößern wenn ich auf Vollbild umschalte .
Das ist das BorderLayout.

Villeicht könnt ihr mal drüber gucken was ich falsch mache.
Du musst das Layout dem LayoutManager (z.. B. BorderLayout) überlassen.

Setze weder size, noch bounds, noch location. Die preferred size kannst Du dagegen angeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
N Brauche Layout-Hilfe AWT, Swing, JavaFX & SWT 3
N Brauche Layout Hilfe AWT, Swing, JavaFX & SWT 9
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
J Hilfe beim tablevies AWT, Swing, JavaFX & SWT 2
T Swing Hilfe - Selbst Informatik Lehrer konnte mir nicht weiter Helfen AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
A Swing TicTacToe-Bitte um Hilfe AWT, Swing, JavaFX & SWT 32
T Bitte um Hilfe AWT, Swing, JavaFX & SWT 2
T Hilfe bei Code AWT, Swing, JavaFX & SWT 2
S Hilfe bei Java Gui Anfänger AWT, Swing, JavaFX & SWT 5
J Warum geht das nicht? if-else usw..... compilieren geht nicht -- HILFE!!! AWT, Swing, JavaFX & SWT 10
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
T Hilfe was mus ich tun um das fertige JfxFenster zu sehen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
A hilfe für flowlayout AWT, Swing, JavaFX & SWT 6
N Swing Benötige Hilfe um ein Swing Canvas zu speichern AWT, Swing, JavaFX & SWT 4
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
C Gesucht: Hilfe beim programmieren. AWT, Swing, JavaFX & SWT 1
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
C Hilfe beim programmieren mit studiumgebundenes Projekt AWT, Swing, JavaFX & SWT 1
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
H Swing Hilfe bei GUI AWT, Swing, JavaFX & SWT 4
T HILFE wie lösche ich gezeichnetes per tastendruck AWT, Swing, JavaFX & SWT 1
R Swing JOptionPane Fehlermeldung- bitte um Hilfe! AWT, Swing, JavaFX & SWT 4
Tausendsassa ImageIcon?! Hilfe! AWT, Swing, JavaFX & SWT 10
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
J GridBagLayout mit Hilfe einer For-Schleife befüllen AWT, Swing, JavaFX & SWT 1
M Hilfe bei Performanceverbesserung AWT, Swing, JavaFX & SWT 34
M SwingWorker Hilfe! AWT, Swing, JavaFX & SWT 10
K Swing Brauche Hilfe AWT, Swing, JavaFX & SWT 6
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
Kenan89 Java FX GUI Hilfe für erste Java FX App AWT, Swing, JavaFX & SWT 8
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
J LayoutManager Hilfe bei Wahl des Layouts AWT, Swing, JavaFX & SWT 9
F Hilfe beim ausschalten von Robot AWT, Swing, JavaFX & SWT 7
N Hilfe bei Memory-Spiel AWT, Swing, JavaFX & SWT 18
L Swing Hilfe bei JTabelModel gesucht AWT, Swing, JavaFX & SWT 4
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
K Hilfe bei Labels AWT, Swing, JavaFX & SWT 3
S Hilfe beim Lernprozess von java3d AWT, Swing, JavaFX & SWT 20
T JLayeredPanel - Hilfe AWT, Swing, JavaFX & SWT 7
C Swing Hilfe bei umsetzung eines Stundenplans. AWT, Swing, JavaFX & SWT 7
K Swing Hilfe beim JTree! AWT, Swing, JavaFX & SWT 3
N Hilfe bei Panels! AWT, Swing, JavaFX & SWT 11
F Swing Syntaxhighlighting Hilfe AWT, Swing, JavaFX & SWT 5
Jats Bitte um Hilfe bei JComboBox mit Array AWT, Swing, JavaFX & SWT 6
Jats Hilfe bei FocusListener für Taschenrechner AWT, Swing, JavaFX & SWT 4
N Swing nach Fensterrand Action ausführen? HILFE AWT, Swing, JavaFX & SWT 7
R Hilfe bei Bachelorrabeit. Seitenvorschau AWT, Swing, JavaFX & SWT 7
L Mein Kopf dreht sich... Brauche Hilfe beim GUI gestalten AWT, Swing, JavaFX & SWT 10
G Swing Hilfe-Fenster erstellen AWT, Swing, JavaFX & SWT 20
E LayoutManager Hilfe ein GridbagLayout!! AWT, Swing, JavaFX & SWT 7
K GUI-Hilfe für Anfänger AWT, Swing, JavaFX & SWT 15
J Schulprojekt und braucht hilfe AWT, Swing, JavaFX & SWT 54
G Hilfe! Command Pattern an easy ImageViewer? AWT, Swing, JavaFX & SWT 13
radiac Hilfe bei GUI AWT, Swing, JavaFX & SWT 22
N Hilfe bei erstellen eines Bibliotheksprogrammes AWT, Swing, JavaFX & SWT 15
H Swing Jtable wird nicht angezeigt..hilfe!! AWT, Swing, JavaFX & SWT 16
M DRINGEND HILFE TextPane RECHTSBÜNDIG AWT, Swing, JavaFX & SWT 2
B Swing Hilfe zu JTextField AWT, Swing, JavaFX & SWT 2
J Brauche ganz dringend Hilfe!!! AWT, Swing, JavaFX & SWT 5
V Bitte um Hilfe bei nem Taschenrechner AWT, Swing, JavaFX & SWT 8
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
G Hilfe!!!Sudoku AWT, Swing, JavaFX & SWT 19
M Swing JButton hilfe AWT, Swing, JavaFX & SWT 3
M brauche Hilfe um Einträge aus Jlist zu löschen AWT, Swing, JavaFX & SWT 4
Spin Hilfe - Erklärungsbedarf für Kreis AWT, Swing, JavaFX & SWT 5
O Bitte um Hilfe bei ComboBox in TableHeader AWT, Swing, JavaFX & SWT 9
M Erstellen eines Hilfe-Fenster bzw"Erste-Schritte" AWT, Swing, JavaFX & SWT 2
G Hilfe beim Erstellen eines eigenen Html-Editors! AWT, Swing, JavaFX & SWT 4
G Hilfe Meine JPanels verschwinden im Müll AWT, Swing, JavaFX & SWT 10
G Hilfe AWT, Swing, JavaFX & SWT 8
N ausrichtung Button - hilfe bitte AWT, Swing, JavaFX & SWT 2
T Hilfe zu Events? AWT, Swing, JavaFX & SWT 6
A Ini Datei Auswerten - HILFE! AWT, Swing, JavaFX & SWT 6
D Hilfe bei GUI-Elementen in Java AWT, Swing, JavaFX & SWT 9
D Grafikeinsteiger sucht/braucht Hilfe. Wäre Nett ! AWT, Swing, JavaFX & SWT 3
K Mein Informatikprojekt läuft aus dem Ruder Hilfe. F1 ^^ AWT, Swing, JavaFX & SWT 5
S Hilfe! Bekomme Daten nicht ausgelesen AWT, Swing, JavaFX & SWT 3
M hilfe! probleme mit meinem programm AWT, Swing, JavaFX & SWT 5
V Hilfe :( bekomme textarea nicht versetzt AWT, Swing, JavaFX & SWT 2
M Hilfe ich komme nicht an ein JTextArea AWT, Swing, JavaFX & SWT 4
J Hilfe CardLayout AWT, Swing, JavaFX & SWT 3
C Hilfe bei JInternalFrame AWT, Swing, JavaFX & SWT 6
G BubbleSort mit Hilfe einer Balkengrafik visualisieren AWT, Swing, JavaFX & SWT 9
G Leider trotz allem kein Icon :( Brauche Hilfe AWT, Swing, JavaFX & SWT 3
S sinuskurve hilfe! AWT, Swing, JavaFX & SWT 2
D JSplittPane - unsichtbarer Rahmen? hilfe ;) AWT, Swing, JavaFX & SWT 2
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben