GridbagLayout

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • GridbagLayout

    Mahlzeit,

    bin in Sachen Java ziemlich aus der Übung und komme mit meinem GridbagLayout nicht zurecht - 4 Tage habe ich schon ohne Ergebnis verschwendet.

    Also brauche ich eure Hilfe

    In meinem Applet habe ich ein GridLayout, das 2 Rows und 1 Column hat. Die Komponenten im oberen funktionieren einwandfrei, die im Unteren jedoch machen Schwierigkeiten.

    Den aktuellen optischen Stand der Dinge hab ich unten angehängt.

    Wie auf dem Bild zu sehen, nehmen die Komponenten in dem GridbagLayout nicht die volle Breite ein - könnte evtl. am JScrollPane oder am JTable liegen, ich finde jedoch nichts.

    Das Textfield und der Button sollen am linken Rand sitzen und das JTabbedPane mit den JTables den restlichen unteren Bereich einnehmen.

    Ich seh inzwischen wahrscheinlich den Wald vor lauter Bäumen nicht^^

    Vielen Dank für eure Hilfe.

    Bild
    Zuletzt geändert von CaRa; 25.05.2005, 16:50.

  • #2
    Hier mal der gesamte Code:

    PHP-Code:
    package swingGUI;

    import java.awt.FlowLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.GridLayout;
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTabbedPane;
    import javax.swing.JTable;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.table.TableColumn;

    public class 
    SwingGUI extends JApplet 
    {

        private 
    JScrollPane scrollPane;
        private static final 
    long serialVersionUID 1L;
        
        final 
    String D_GESAMT[][] =
        {{ 
    "1 Pitch Black 1" "SciFi""2001""David Twony""USA""Vin Diesel und andere""16""120 Minuten" }};
        
        final 
    String D_GENRE[][] =
        {{ 
    "1 Pitch Black 1" "SciFi""2001""David Twony""USA""Vin Diesel und andere""16""120 Minuten" }};

        final 
    String D_ERSCHIENEN[][] =
        {{ 
    "1 Pitch Black 1" "SciFi""2001""David Twony""USA""Vin Diesel und andere""16""120 Minuten" }};
        
        final 
    String D_REGISSEUR[][] =
        {{ 
    "1 Pitch Black 1" "SciFi""2001""David Twony""USA""Vin Diesel und andere""16""120 Minuten" }};
        
        final 
    String D_PRODUKTIONSORT[][] =
        {{ 
    "1 Pitch Black 1" "SciFi""2001""David Twony""USA""Vin Diesel und andere""16""120 Minuten" }};
        
        final 
    String D_SCHAUSPIELER[][] =
        {{ 
    "1 Pitch Black 1" "SciFi""2001""David Twony""USA""Vin Diesel und andere""16""120 Minuten" }};
        
        final 
    String D_ALTERSEINSTUFUNG[][] =
        {{ 
    "1 Pitch Black 1" "SciFi""2001""David Twony""USA""Vin Diesel und andere""16""120 Minuten" }};
        
        final 
    String D_SPIELZEIT[][] =
        {{ 
    "1 Pitch Black 1" "SciFi""2001""David Twony""USA""Vin Diesel und andere""16""120 Minuten" }};    
        
        
    String  CN_GESAMT[] = { "Filmtitel""Genre""Erschienen""Regisseur""Produktionsort""Schauspieler""Alterseinstufung""Spielzeit" };

        private 
    JTextField tf_genresuche            = new JTextField("Genre eingeben");
        private 
    JTextField tf_suche                    = new JTextField("Suchbegriff eingeben");
        
        private 
    JButton    btn_suche                    = new JButton("suchen");
        
        
        
    // KOMPONENTEN CONTENTPANE
        
        
    private GridLayout gl_contentPane                     = new GridLayout(2,1,3,3);
        private 
    JPanel        p_contentPane                    = new JPanel();
        
            
    // KOMPONENTEN NORTH
        
                
    private JPanel p_north                                 = new JPanel();
                private 
    GridLayout gl_north                         = new GridLayout(1,1,3,3);
        
                    
    // KOMPONENTEN INFO_BESCHREIBUNG
                
                    
    private JPanel p_info_beschreibung                    = new JPanel();
                    private 
    GridLayout gl_info_beschreibung                = new GridLayout(1,2,3,3);
                    
                        
    // KOMPONENTEN INFO
                                    
                                    
    private JPanel p_info                         = new JPanel();
                                    private 
    GridLayout gl_info                     = new GridLayout(16,1,3,3);
                
                                    private 
    JLabel la_genre                     = new JLabel("Genre");
                                    private 
    JTextField tf_genre                    = new JTextField("SciFi");
                                    private 
    JLabel la_erschienen                 = new JLabel("Erschienungsjahr");
                                    private 
    JTextField tf_erschienen            = new JTextField("2000");
                                    private 
    JLabel la_regisseur                 = new JLabel("Regisseur");
                                    private 
    JTextField tf_regisseur                = new JTextField("David Twohy");
                                    private 
    JLabel la_prod_ort                     = new JLabel("Produktionsort");
                                    private 
    JTextField tf_prod_ort                = new JTextField("USA");
                                    private 
    JLabel la_schauspieler                 = new JLabel("Schauspieler");
                                    private 
    JTextField tf_schauspieler            = new JTextField("Cole Hauser, Vin Diesel, Radha Mitchell");
                                    private 
    JLabel la_alterseinst                 = new JLabel("Alterseinstufung");
                                    private 
    JTextField tf_alterseinst            = new JTextField("16");
                                    private 
    JLabel la_spielzeit                     = new JLabel("Spielzeit");
                                    private 
    JTextField tf_spielzeit                = new JTextField("106 Minuten");
                                    private 
    JLabel la_titel                     = new JLabel("Pitch Black - Planet der Finsternis");
                                    
                        
    // KOMPONENTEN BESCHREIBUNG
                                    
                                    
    private JTextArea ta_beschreibung            = new JTextArea("keine Beschreibung verfügbar");
                                    
                                    private 
    GridLayout gl_beschreibung            = new GridLayout(1,1,3,3);
                                    private 
    JPanel p_beschreibung                = new JPanel();
                                    private 
    JScrollPane sp_beschreibung            = new JScrollPane(ta_beschreibung);                                
                                    
            
    // KOMPONENTEN SOUTH
                        
                        
    private JPanel p_south                                 = new JPanel();    
                        private 
    GridBagLayout gbl_south                        = new GridBagLayout();
                        private 
    GridBagConstraints gbc_south                = new GridBagConstraints();
                        
    /*private GridLayout gl_south                        = new GridLayout(2,2,3,3);*/
                
                            // KOMPONENTEN TABBEDPANE
                                        
                                        
    private JPanel p_suchtabs                    = new JPanel();
                                        
                                        private 
    GridLayout gl_gesamt                = new GridLayout(1,1,3,3);    
                                        private 
    GridLayout gl_suchtabs                = new GridLayout(1,1,3,3);
                                        private 
    FlowLayout fl_suchtabs                = new FlowLayout();
                                                                        
        
                                
    // KOMPONENTEN TABELLEN
                                            
                                            
    private JTable tb_gesamt                     = new JTable(D_GESAMTCN_GESAMT);
                                            private 
    JScrollPane sp_gesamt                = new JScrollPane(tb_gesamt);
                                            private 
    JPanel p_gesamt                        = new JPanel();
                                            
                                            private 
    JTable tb_genresuche                 = new JTable(D_GENRECN_GESAMT);
                                            private 
    JScrollPane sp_genresuche            = new JScrollPane(tb_genresuche);
                                            private 
    JPanel p_genresuche                    = new JPanel();
                                            
                                            private 
    JTable tb_prod_ort                  = new JTable(D_PRODUKTIONSORTCN_GESAMT);
                                            private 
    JScrollPane sp_prod_ort             = new JScrollPane(tb_prod_ort );
                                            private 
    JPanel p_prod_ort                     = new JPanel();
                                            
                                            private 
    JTable tb_erschienen                 = new JTable(D_ERSCHIENENCN_GESAMT);
                                            private 
    JScrollPane sp_erschienen            = new JScrollPane(tb_erschienen);
                                            private 
    JPanel p_erschienen                    = new JPanel();
                                            
                                            private 
    JTable tb_regisseur                 = new JTable(D_REGISSEURCN_GESAMT);
                                            private 
    JScrollPane sp_regisseur            = new JScrollPane(tb_regisseur);
                                            private 
    JPanel p_regisseur                    = new JPanel();
                                            
                                            private 
    JTable tb_schaupieler                 = new JTable(D_SCHAUSPIELERCN_GESAMT);
                                            private 
    JScrollPane sp_schaupieler            = new JScrollPane(tb_schaupieler);
                                            private 
    JPanel p_schaupieler                = new JPanel();
                                            
                                            private 
    JTable tb_alterseinstufung             = new JTable(D_ALTERSEINSTUFUNGCN_GESAMT);
                                            private 
    JScrollPane sp_alterseinstufung        = new JScrollPane(tb_alterseinstufung);
                                            private 
    JPanel p_alterseinstufung            = new JPanel();
                                            
                                            private 
    JTable tb_spielzeit                 = new JTable(D_SPIELZEITCN_GESAMT);
                                            private 
    JScrollPane sp_spielzeit            = new JScrollPane(tb_spielzeit);
                                            private 
    JPanel p_spielzeit                    = new JPanel();
        
                                
    // KOMPONENTEN SUCHE
                                            
                                            
    private GridLayout gl_suche                            = new GridLayout(1,2,3,3);
                                            
    //private FlowLayout fl_suche                            = new FlowLayout();
                                            
    private JPanel p_suche                                = new JPanel();
                                            private 
    JTabbedPane tp_suche                         = new JTabbedPane();
                
        

        
    public 
    SwingGUI() 
        {
            
    super();
        }

        public 
    void init()
        {        
            
            
    /* INIT CONTENTPANE */
            
                
    getContentPane().setLayout(gl_contentPane); 

    Kommentar


    • #3
      PHP-Code:
      /* INIT LAYOUT */
              
                  // NORTH
                      
                  
      p_north.setLayout(gl_north);
              
                      
      // INFO BESCHREIUNG
                          
                  
      p_info_beschreibung.setLayout(gl_info_beschreibung);
                          
                          
      // INFO
                              
                  
      p_info.setLayout(gl_info);
                              
                          
      // BESCHREIBUNG
                              
                              
      p_beschreibung.setLayout(gl_beschreibung);
                              
                              
      ta_beschreibung.setLineWrap(true);
                              
      ta_beschreibung.setAutoscrolls(true);
                              
                  
      // SOUTH
                              
                      
      p_south.setLayout(gbl_south);
                      
                      
      gbc_south.fill GridBagConstraints.VERTICAL;
                      
      gbc_south.anchor GridBagConstraints.NORTHWEST;
                      
                      
      gbc_south.fill GridBagConstraints.VERTICAL;
                      
      gbc_south.anchor GridBagConstraints.NORTHWEST;
                      
                      
      gbc_south.gridheight 1;//GridBagConstraints.REMAINDER;
                      
      gbc_south.gridwidth 1;//GridBagConstraints.REMAINDER;
                      
      gbc_south.gridx 0;                        // x-Position
                      
      gbc_south.gridy 0;
                      
      gbl_south.setConstraints(p_suchegbc_south);
                      
                      
      gbc_south.gridheight 5;//GridBagConstraints.REMAINDER;
                      
      gbc_south.gridwidth 1;//GridBagConstraints.REMAINDER;
                      
      gbc_south.gridx 0;                        // x-Position
                      
      gbc_south.gridy 1;
                      
      gbl_south.setConstraints(tp_suchegbc_south);
                      
                      
      // SUCHE
                      
                          
      p_suche.setLayout(gl_suche);
                          
                      
      // SUCHTABS
                          
                          
      p_suchtabs.setLayout(fl_suchtabs);
                          
                          
      p_gesamt.setLayout(gl_gesamt);
                          
      p_genresuche.setLayout(gl_suchtabs);
                          
      p_prod_ort.setLayout(gl_suchtabs);
                          
      p_erschienen.setLayout(gl_suchtabs);
                          
      p_regisseur.setLayout(gl_suchtabs);
                          
      p_schaupieler.setLayout(gl_suchtabs);
                          
      p_alterseinstufung.setLayout(gl_suchtabs);
                          
      p_spielzeit.setLayout(gl_suchtabs);
                          
                          
      tb_gesamt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                          
      sp_gesamt.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    
                          
                          
      tb_genresuche.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                          
      sp_genresuche.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    
                          
                          
      tb_prod_ort.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                          
      sp_prod_ort.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    
                          
                          
      tb_erschienen.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                          
      sp_erschienen.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    
                          
                          
      tb_regisseur.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                          
      sp_regisseur.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    
                          
                          
      tb_schaupieler.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                          
      sp_schaupieler.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    
                          
                          
      tb_alterseinstufung.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                          
      sp_alterseinstufung.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    
                          
                          
      tb_spielzeit.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                          
      sp_spielzeit.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    
                          
              
              
      /* INIT TABLECOLUMS */
              
                  
      TableColumn col_filmtitel tb_gesamt.getColumnModel().getColumn);
                  
      TableColumn col_genre tb_gesamt.getColumnModel().getColumn);
                  
      TableColumn col_produktionsort tb_gesamt.getColumnModel().getColumn);
                  
      TableColumn col_erschienen tb_gesamt.getColumnModel().getColumn);
                  
      TableColumn col_regisseur tb_gesamt.getColumnModel().getColumn);
                  
      TableColumn col_schauspieler tb_gesamt.getColumnModel().getColumn);
                  
      TableColumn col_alterseinstufung tb_gesamt.getColumnModel().getColumn);
                  
      TableColumn col_spielzeit tb_gesamt.getColumnModel().getColumn);
                  
                  
      col_filmtitel.setMinWidth(200);
                  
      col_genre.setMinWidth(75);
                  
      col_produktionsort.setMinWidth(75);
                  
      col_erschienen.setMinWidth(75);
                  
      col_regisseur.setMinWidth(100);
                  
      col_schauspieler.setMinWidth(200);
                  
      col_alterseinstufung.setMinWidth(100);
                  
      col_spielzeit.setMinWidth(75);
              
              
      /* INIT ADD COMPONENTS */
              
                                      // BESCHREIBUNG
                                      
                                          
      p_beschreibung.add(sp_beschreibung);
                                          
      p_info_beschreibung.add(p_beschreibung);
                                                          
                                      
      // INFO
                                              
                                          
      p_info.add(la_titel);
                                          
      p_info.add(la_genre);
                                          
      p_info.add(tf_genre);                
                                          
      p_info.add(la_prod_ort);
                                          
      p_info.add(tf_prod_ort);        
                                          
      p_info.add(la_erschienen);    
                                          
      p_info.add(tf_erschienen);            
                                          
      p_info.add(la_regisseur);
                                          
      p_info.add(tf_regisseur);        
                                          
      p_info.add(la_schauspieler);    
                                          
      p_info.add(tf_schauspieler);            
                                          
      p_info.add(la_alterseinst);
                                          
      p_info.add(tf_alterseinst);        
                                          
      p_info.add(la_spielzeit);
                                          
      p_info.add(tf_spielzeit);
                                                          
                                          
      tf_genre.setEditable(false);
                                          
      tf_genre.setEditable(false);
                                          
      tf_erschienen.setEditable(false);
                                          
      tf_prod_ort.setEditable(false);
                                          
      tf_regisseur.setEditable(false);
                                          
      tf_schauspieler.setEditable(false);
                                          
      tf_alterseinst.setEditable(false);
                                          
      tf_spielzeit.setEditable(false);
                          
                              
      // INFO BESCHREIBUNG
                                      
                                      
      p_info_beschreibung.add(p_info);
                                  
                          
      // NORTH
                          
                          
      p_north.add(p_info_beschreibung);
                          
                              
      // SUCHE
                          
                                  
      p_suche.add(tf_suche);
                                  
      p_suche.add(btn_suche);
                              
                          
                              
      // SUCHTABS
                                  
                                  
      p_gesamt.add(sp_gesamt);
                                  
      tp_suche.addTab("Gesamtliste"nullp_gesamt    null);
                                  
                                  
      p_genresuche.add(sp_genresuche);
                                  
      tp_suche.addTab("Suche Genre"nullp_genresuchenull);
                                  
                                  
      p_prod_ort.add(sp_prod_ort);
                                  
      tp_suche.addTab("Suche Produktionsort"nullp_prod_ort    null);
                              
                                  
      p_erschienen.add(sp_erschienen);
                                  
      tp_suche.addTab("Suche Erscheinungsjahr"nullp_erschienennull);
                                  
                                  
      p_regisseur.add(sp_regisseur);
                                  
      tp_suche.addTab("Suche Erscheinungsjahr"nullp_erschienennull);
                                  
                                  
      p_schaupieler.add(sp_schaupieler);
                                  
      tp_suche.addTab("Suche Schauspieler"nullp_schaupielernull);    
                                  
                                  
      p_alterseinstufung.add(sp_alterseinstufung);
                                  
      tp_suche.addTab("Suche Alterseinstufung"nullp_alterseinstufungnull);
                                  
                                  
      p_spielzeit.add(sp_spielzeit);
                                  
      tp_suche.addTab("Suche Spielzeit"nullp_spielzeitnull);
                              
                                  
      p_suchtabs.add(tp_suche);
                          
                          
      // SOUTH
                          
                          
      p_south.add(p_suchtabs, new GridBagConstraints());
                          
      p_south.add(p_suche);
                          
      p_south.add(tp_suche);
                                      
                      
      // CONTENTPANE
                                      
                      
      getContentPane().add(p_north);
                      
      getContentPane().add(p_south);
              
          
      /* SETVISIBLE */
          
          
      p_beschreibung.setVisible(true);
          
      p_info.setVisible(true);
          
      p_north.setVisible(true);
          
      p_south.setVisible(true);
          
      p_info_beschreibung.setVisible(true);    
          
          
      getContentPane().setVisible(true);
          
      setSize(955600);    

              
      // y-Position
              //gbc_south.gridwidth = 1;                    // Breite
              //gbc_south.gridheight = 2;                   // Höhe

              //gbl_south.setConstraints(tp_suche, gbc_south);
              //p_suche.setLayout(fl_suche);
              //p_suche.add(tf_suche);
              //p_suche.add(btn_suche);
              //gbl_south.setConstraints(p_suche, gbc_south);          // zum GridBagConstraints hinzufügen
              
          
      }

      Kommentar


      • #4
        besser hier: http://www.java-forum.org/de/ posten, aber auch nicht den gesamten Code, weil das abschreckend wirkt

        Kommentar


        • #5
          [Erledigt]

          Immer wenn ich ein Problem poste, komm ich ne Stunde später drauf

          PHP-Code:
          Component.setMinimumSize(new Dimension(int,int)); 
          Aber danke für den Link, schaut gut aus.

          Schönen Sommertag noch

          Kommentar

          Lädt...
          X