# Problem Netbeans Komponenten



## Gast (18. Okt 2007)

Netbeans Komponenten nachträglich zur GUI hinzufügen

Hallo,

ich möchte mit Netbeans eine Datenbankabfrage machen und mir die Ergebnisse in JLabel’s anzeigen. Diese sind später in einer Klasse die dann für jeden Datensatz einzeln erzeugt werden. ABER mein Problem ist das ich ja nicht immer gleich viele Komponenten benötige und somit muss ich diese Komponenten ja per Hand einfügen, aber das bekomme ich leider nicht hin.





Ich habe jetzt zum Ausprobieren einfach eine ganze einfache Oberfläche mit einem JPanel erstellt mit dem ich testen wollte wie man so etwas am einfügt  - leider aber ohne Erfolg.

```
package javaapplication19;
import java.awt.*;
public class NeuJFrame extends javax.swing.JFrame {
    
    /** Creates new form NeuJFrame */
    public NeuJFrame() {
        initComponents();
    }
    
    // <editor-fold defaultstate="collapsed" desc=" Erzeugter Quelltext ">
    private void initComponents() {
        javax.swing.JPanel jPanel;

        //Stelle 1--------------------

        jPanel = new javax.swing.JPanel();
        //Stelle 2 ---------------------
        //JLabel test wird erzeugt und zum Panel hinzugefügt aber nicht angezeigt
        javax.swing.JLabel test = new javax.swing.JLabel("Test");
        jPanel.add(test);
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        //Stelle 3 ---------------------
        //Stelle 4 ----------------------

        jLabel1.setText("jLabel1");

        org.jdesktop.layout.GroupLayout jPanelLayout = new org.jdesktop.layout.GroupLayout(jPanel);
        jPanel.setLayout(jPanelLayout);
        jPanelLayout.setHorizontalGroup(
            jPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanelLayout.createSequentialGroup()
                .addContainerGap(346, Short.MAX_VALUE)
                .add(jLabel1))
        );
        jPanelLayout.setVerticalGroup(
            jPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanelLayout.createSequentialGroup()
                .addContainerGap(134, Short.MAX_VALUE)
                .add(jLabel1))
        );

        [...]

        pack();
    }// </editor-fold>
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NeuJFrame().setVisible(true);
            }
        });
    }
    
    // Variablendeklaration - nicht modifizieren
    private javax.swing.JLabel jLabel1;
    // Ende der Variablendeklaration
    
}
```
Das in Zeile 21/22 erstellte Labelfeld ist aber leider nirgens zu sehen


----------



## *Hendrik (18. Okt 2007)

Gast hat gesagt.:
			
		

> Das in Zeile 21/22 erstellte Labelfeld ist aber leider nirgens zu sehen



Sicher??


----------



## Guest (18. Okt 2007)

oh ich hatte ja noch eine Zeile rausgenommen (--> Zeile 20/21), also das jLabel test mit der Beschriftung "Test" ist nicht zu sehen, das von Netbeans erstellte jLabel jLabel1 aber schon.
Also so sieht es aus:


----------



## *Hendrik (18. Okt 2007)

Gast hat gesagt.:
			
		

> org.jdesktop.layout.GroupLayout jPanelLayout = new org.jdesktop.layout.GroupLayout(jPanel);
> jPanel.setLayout(jPanelLayout);
> jPanelLayout.setHorizontalGroup(
> jPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
> ...



Bei dem verwendeten GroupLayout müsstest Du das Label (wie im Code .add(JLabel1)) dem Layout bzw. der entsprechenden Group hinzufügen - jPanel.add(test); bringt da nichts. Für Deine Problemstellung würde ich allerdings ein anderes Layout als das GroupLayout wählen.


----------

