Swing Textfelder unter entsprechende Label platzieren

sos

Mitglied
Ich bitte um Hilfe um die Texfelder unter deren labels zu platzieren

Java:
public class Anmeldung extends javax.swing.JDialog{
	
	private javax.swing.JButton jBeenden ,jAnmelden;
	private javax.swing.JLabel lblTit, lblVor, lblNach, lblPass, lblUser;
	private javax.swing.JTextField txtVorname, txtNachname, txtPasswort, txtUser;
	private javax.swing.JDesktopPane sysMeld;
	
	public Anmeldung(){
		
		this.setTitle ("Anmeldedialog");
		
		
		  jBeenden = new javax.swing.JButton();
	        jAnmelden = new javax.swing.JButton();
	        lblTit = new javax.swing.JLabel();
	        lblVor = new javax.swing.JLabel();
	        lblNach = new javax.swing.JLabel();
	        lblPass = new javax.swing.JLabel();
	        lblUser = new javax.swing.JLabel();
	        txtVorname = new javax.swing.JTextField();
	        txtNachname = new javax.swing.JTextField();
	        txtPasswort = new javax.swing.JTextField();
	        txtUser = new javax.swing.JTextField();
		
	        lblTit.setFont(new java.awt.Font("Tahoma", 1, 14)); 
	        lblTit.setText("Personalverwaltung - Zugang nur für Abteilungsleiter");
	        
	        lblVor.setText("Vorname");
	        lblNach.setText("Nachname");
	        lblPass.setText("Passwort");
	        lblUser.setText("DB-Benutzername");
	        
	        this.add(lblTit, java.awt.BorderLayout.NORTH);
	        javax.swing.JPanel jPanelCenter = new javax.swing.JPanel(new java.awt.GridLayout(1,4,20,20));
	        jPanelCenter.add(lblVor);
	        jPanelCenter.add(lblNach);
	        jPanelCenter.add(lblPass);
	        this.add(jPanelCenter, java.awt.BorderLayout.CENTER);
	       
	        jPanelCenter.add(txtVorname);
	        jPanelCenter.add(txtNachname);
	        jPanelCenter.add(txtPasswort);
	        this.add(jPanelCenter, java.awt.BorderLayout.CENTER);
	      
	     this.setSize(500, 350);
	  
		this.setVisible(true);
		
	}
	

	    public static void main(String args[]) {
	        
	            	Anmeldung anmeldung = new Anmeldung();
	            	System.out.println(anmeldung);
	                
	            }
	        

}

Danke im vorraus
 
Hallo sos,

ich hab dir mal ne Komplettlösung gemacht (mit Buttons + Reaktion, alles richtig anordnen, ect.).
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Anmeldung extends javax.swing.JDialog {
    
    private JButton jBeenden ,jAnmelden;
    private JLabel lblTit, lblVor, lblNach, lblPass, lblUser;
    private JTextField txtVorname, txtNachname, txtPasswort, txtUser;
    private JDesktopPane sysMeld;
    
    public Anmeldung() {
        setTitle ("Anmeldedialog");

        jBeenden = new JButton();
        jAnmelden = new JButton();
        lblVor = new JLabel("Vorname");
        lblNach = new JLabel("Nachname");
        lblPass = new JLabel("Passwort");
        lblUser = new JLabel("DB-Benutzername");
        txtVorname = new JTextField();
        txtNachname = new JTextField();
        txtPasswort = new JTextField();
        txtUser = new JTextField();
        
        JPanel jPanelNorth = new JPanel();
        lblTit = new JLabel("Personalverwaltung - Zugang nur für Abteilungsleiter");
        lblTit.setFont(new Font("Tahoma", 1, 14)); 
        lblTit.setForeground(Color.blue);
        jPanelNorth.add(lblTit);
        add(jPanelNorth, BorderLayout.NORTH);
        
        JPanel jPanelCenter = new JPanel(new GridLayout(4, 1, 10, 10));
        jPanelCenter.add(lblVor);
        jPanelCenter.add(txtVorname);
        jPanelCenter.add(lblNach);
        jPanelCenter.add(txtNachname);
        jPanelCenter.add(lblPass);
        jPanelCenter.add(txtPasswort);
        jPanelCenter.add(lblUser);
        jPanelCenter.add(txtUser);
        add(jPanelCenter, BorderLayout.CENTER);
        
        JPanel jPanelSouth = new JPanel();
        	jAnmelden = new JButton("Anmelden");
        	jAnmelden.addActionListener(new ActionListener(){
				@Override
				public void actionPerformed(ActionEvent e) {
					if(!txtVorname.getText().equals("") && !txtNachname.getText().equals("") && !txtPasswort.getText().equals("") && !txtUser.getText().equals(""))
						System.out.println("Anmelden");
					else
						System.out.println("Bitte alles ausfüllen!");
				}      		
        	});
        	jPanelSouth.add(jAnmelden);
        	jBeenden = new JButton("Beenden");
        	jBeenden.addActionListener(new ActionListener(){
				@Override
				public void actionPerformed(ActionEvent e) {
					System.out.println("Beenden");
				}      		
        	});
        	jPanelSouth.add(jBeenden);
        add(jPanelSouth, BorderLayout.SOUTH);	
          
        setSize(500, 250);
        setVisible(true);
    }
    
    public static void main(String args[]) {
        Anmeldung anmeldung = new Anmeldung();
    }

}

Ich hab auch die absoluten Package-Name durch Importe ersetzt und die Gestaltung etwas verändert. Sorry wenn du es anders vor hattest.

P.S.: Hast du den NetBeans-GUI-Designer benutzt?
Im Anhang noch nen Screenshot.

Gruß javaDeveloper2011
 

Anhänge

  • screenshot.JPG
    screenshot.JPG
    24,2 KB · Aufrufe: 20
  • Gefällt mir
Reaktionen: sos
Ja ich hab den Netbeans-Gui Designer benutzt, ist aber nicht Sinn der Sache. Danke sehr für die Lösung
mfg Amine
 
Zurück