# String aus einem JTextField an ein JLabel übergeben



## Alex_winf01 (30. Jul 2006)

Ich möchte aus meinem Stammdatenfenster ein String aus einem JTextField mit getText() auslesen und an ein JLabel übergeben. Wie kann ich das machen? setText() geht nicht --> da ich das Ding an ein Label übergeben möchte.


----------



## Alex_winf01 (30. Jul 2006)

Hier mal der Code (hab ich in einem anderen Thread schon mal gepostet):


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import javax.swing.table.*;
import java.awt.datatransfer.*;

 	
class E2 extends JFrame
{
	// ----------------------------------------------------------
	// Variablen Deklaration
	// ----------------------------------------------------------
    
    public static JButton zeile_hinzufügen, zeile_löschen;
    public static JPanel nordPanel, centerPanel, südPanel, hilfspanel, hilfspanel1, hilfspanel2, hilfspanel3, hilfspanel4, hilfspanel5;
    public static JLabel krankenhaus, krankenhaus_name, krankenhaus_strasse, krankenhaus_plz, krankenhaus_ort;
    public static JLabel Seite, Druckdatum, überschrift;
    public static JLabel fussnote1, fussnote1_1, fussnote1_2, fussnote1_3, fussnote1_4, fussnote1_5, fussnote1_6, fussnote2;
    public static JLabel fusszeile_links, fusszeile_mitte, fusszeile_rechts;
    public static Container con1;

	/** ----------------------------------------------------------
	 	WindowAdapter
	 	----------------------------------------------------------
	*/
	class WindowLauscher extends WindowAdapter
	{
		public void windowClosing (WindowEvent e)
		{
			dispose();
			System.exit(0);
		}
	}
	
	
	/* 	----------------------------------------------------------
		Action Listener
	 	----------------------------------------------------------
	*/
		/** Listener für MENUITEM "beenden"*/
		class beendenListener implements ActionListener
		{
			public void actionPerformed (ActionEvent e)
			{
			     System.exit(0);
			}
		}	
		
			
	/** 
	----------------------------------------------------------
	   Konstruktor der Fensterklasse
	----------------------------------------------------------
	*/
	E2(String titel)
	{
		super(titel);
		
		con1 = getContentPane();
		con1.setLayout(new BorderLayout());
				
		nordPanel = new JPanel(new BorderLayout());
		centerPanel = new JPanel(new BorderLayout());
		südPanel = new JPanel(new BorderLayout());
		hilfspanel = new JPanel(new GridLayout(5,2,2,2));
		hilfspanel1 = new JPanel(new GridLayout(2,2,2,2));
		hilfspanel2 = new JPanel(new BorderLayout());
		hilfspanel3 = new JPanel(new GridLayout(8,1,1,1));
		hilfspanel4 = new JPanel(new GridLayout(1,2,5,5));
		hilfspanel5 = new JPanel();
		/*---------------------------------------------------*/
		/*Formatierungen
		/*---------------------------------------------------*/
		Border rahmen = BorderFactory.createLineBorder(Color.black);
		
		// ***** NORDPANEL******
		// Hier kommt es noch zu einer Null-Pointer-Exception
		//krankenhaus = new JLabel("Krankenhaus                               ");
		
		/**************************************************************
		/Hier kommt die Null-Pointer-Exception
		/**************************************************************
		//krankenhaus_name = new JLabel(StartFrame.Name_text.getText());
		//krankenhaus_strasse = new JLabel(StartFrame.Straße_text.getText());
		//krankenhaus_plz = new JLabel(StartFrame.PLZ_text.getText());
		//krankenhaus_ort = new JLabel(StartFrame.Ort_text.getText());
		
		/*Diese Zeile ist auch für die anderen Formulare wichtig!!! Um ein Panel einen Rahmen ziehen*/
		hilfspanel.setBorder( BorderFactory.createRaisedBevelBorder() );
		hilfspanel.add(krankenhaus);
		hilfspanel.add(krankenhaus_name = new JLabel());
		hilfspanel.add(krankenhaus_strasse);
		hilfspanel.add(krankenhaus_plz);
		hilfspanel.add(krankenhaus_ort);
		
		
		Seite = new JLabel("Seite:");
		Seite.setBorder(rahmen);
		Druckdatum = new JLabel("Hier das Druckdatum vom Stammdatenblatt übernehmen");
		Druckdatum.setBorder(rahmen);
		
		hilfspanel1.add(Seite);
		hilfspanel1.add(Druckdatum);
		
		nordPanel.add(hilfspanel, BorderLayout.WEST);
		nordPanel.add(hilfspanel1, BorderLayout.EAST);
		
		// ***** Ende NORDPANEL******
		
		// ***** CENTERPANEL******
		
		überschrift = new JLabel("E2 Aufstellung der Zusatzentgelte für das Krankenhaus *) 1)");
		Font font = new Font("",Font.BOLD,16);
		überschrift.setFont(font);
		
		String E2Label[] = {"Nachrichtlich", "ZE0-Nr.", "Anzahl der ZE",
		"Entgelthöhe lt. ZE-Katalog", "Erlössumme", "Nachrichtlich", "N"};
		
		Object[][] data = 
		{
			{
				"Nachrichtlich:", "ZE-Nr.", "Anzahl der ZE", "Entgelthöhe lt. ZE-Katalog","Erlössumme", "Nachrichtlich:", ""
			},
			{
				"Bezeichnung", "1", "2", "3","4", "Bezeichnung", "OPS-Kode"
			},
			{
				"", "Jahresfälle: 2)", "", "","", "", ""
			},
			{
				"", "", "0", "0.0","0.0", "", ""
			},
			{
				"Summe der ZE bezogen auf die Jahresfälle", "0", "", "0.0","", "", ""
			},
			{
				"Summe der ZE bezogen auf die Überlieger", "", "", "0.0","", "", ""
			},
			{
				"Summe ZE insgesamt", "0", "0.0", "0.0","0.0", "", ""
			}
		};
		
		
		final TD1Model tbl = new TD1Model(data, E2Label);
		final JTable table = new JTable(tbl)
		{
            public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
            {
                Component c = super.prepareRenderer(renderer, row, column);
                if (!isRowSelected(row))
                {
                    c.setBackground(Color.white);
                    if(row > tbl.getRowCount()-4)
                    {
                        c.setBackground(Color.blue);
                    }
                }
                
                if (!isColumnSelected(column))
                {
                	
                	if (column==0 && row !=tbl.getRowCount() && row !=tbl.getRowCount()-1 && row !=tbl.getRowCount()-2 && row !=tbl.getRowCount()-3)
					{
   						c.setBackground(Color.red);
					}
                	if (column==1 && row !=tbl.getRowCount() && row !=tbl.getRowCount()-1 && row !=tbl.getRowCount()-2 && row !=tbl.getRowCount()-3)
					{
   						c.setBackground(Color.green);
					}
					if (column==2 && row !=tbl.getRowCount() && row !=tbl.getRowCount()-1 && row !=tbl.getRowCount()-2 && row !=tbl.getRowCount()-3)
					{
   						c.setBackground(Color.green);
					}
                	if (column==3 && row !=tbl.getRowCount() && row !=tbl.getRowCount()-1 && row !=tbl.getRowCount()-2 && row !=tbl.getRowCount()-3)
					{
   						c.setBackground(Color.red);
					}
					if (column==4 && row !=tbl.getRowCount() && row !=tbl.getRowCount()-1 && row !=tbl.getRowCount()-2 && row !=tbl.getRowCount()-3)
					{
   						c.setBackground(Color.blue);
					}
					if (column==5 && row !=tbl.getRowCount() && row !=tbl.getRowCount()-1 && row !=tbl.getRowCount()-2 && row !=tbl.getRowCount()-3)
					{
   						c.setBackground(Color.red);
					}
					if (column==6 && row !=tbl.getRowCount() && row !=tbl.getRowCount()-1 && row !=tbl.getRowCount()-2 && row !=tbl.getRowCount()-3)
					{
   						c.setBackground(Color.red);
					}
                }
                return c;
            }
        };
		//table.setShowHorizontalLines(false); 
		//table.setShowVerticalLines(false); 
		
		//tbl.setPreferredScrollableViewportSize(new Dimension( 500, 100 )        );

        JScrollPane sp = new JScrollPane( table );
        hilfspanel5.add(sp);
       

      	// spalten nicht resizable machen, nicht zulassen dass die spaltenreihenfolge geändert werden kann
      	JTableHeader header = table.getTableHeader();
      	header.setResizingAllowed(false);
      	header.setReorderingAllowed(false);
      	
      	JComponent component = null;
		
		// Diese Zeilen sind für das Selektieren einer ganzen Spalte
		//table.setColumnSelectionAllowed(true);
        //table.setRowSelectionAllowed(false);
        
        // Hier müssen die Zellen angegeben werden, die nicht editerbar sein sollen
        table.isCellEditable(1,1);
        

        
        //Hinzufügen eines MouseListener an den TableHeader für ganze Spalte markieren
		/*table.getTableHeader().addMouseListener(new MouseListener()
		{
      		public void mouseClicked(MouseEvent e) 
      		{   
      			//Abfragen, ob die "geklickte" Spalte bereits selektiert ist...               
         		if( table.getSelectedColumn() == table.columnAtPoint(e.getPoint()))
         		{
            		//...falls ja, dann deselektieren...
            		table.removeColumnSelectionInterval(0, table.getColumnCount() - 1);
         		}
         		else
            	//...falls nein, dann selektieren
            	table.setColumnSelectionInterval(table.columnAtPoint(e.getPoint()), table.columnAtPoint(e.getPoint()));
            }
      		public void mousePressed(MouseEvent e) {}
      		public void mouseReleased(MouseEvent e) {}
      		public void mouseEntered(MouseEvent e) {}
      		public void mouseExited(MouseEvent e) {}                        
   		});*/
   		
   		        
        zeile_löschen = new JButton("Zeile löschen");
        
        zeile_löschen.addActionListener(
            new ActionListener() 
            {
                public void actionPerformed(ActionEvent ev) 
                {
                    table.setRowSelectionInterval(tbl.getRowCount()-4, tbl.getRowCount()-4);
                    int row = tbl.getRowCount() - 4;
                    if (row < 0 || row >= tbl.getRowCount());
                    	System.out.println("Fehler");
                    tbl.removeRow(row);
                }
            });
        
        zeile_hinzufügen = new JButton("Zeile hinzufügen");
		
		zeile_hinzufügen.addActionListener(new ActionListener() 
       	{
                public void actionPerformed(ActionEvent ev) 
                {
                    	
                    	tbl.insertRow(3, new Object[] 
                    	{
                        	    "",
                            	"",
                            	new Integer( 0 ),
                            	new Double( 0.0 ),
                            	new Double( 0.0 )
                    	});
                }
            });
            
            
        hilfspanel4.add(zeile_hinzufügen);
        hilfspanel4.add(zeile_löschen);    
        nordPanel.add(hilfspanel4, BorderLayout.CENTER);
        fussnote1 = new JLabel(" 1)   Die Aufstellung ist für die folgenden Zeiträume jeweils gesondert wie folgt aufzustellen und vorzulegen:");
        fussnote1_1 = new JLabel("    - für das abgelaufene Kalenderjahr die Ist-Daten nach dem ZE-Katalog des abgelaufenen Jahres (Ziel: u. a. Ermittlung der");
        fussnote1_2 = new JLabel("      endgültigen Erlösausgleiche),");
        fussnote1_3 = new JLabel("    - für das laufende Kalenderjahr die hochgerechneten Ist-Daten nach dem ZE-Katalog des laufenden Jahres (Ziele:");
        fussnote1_4 = new JLabel("     Darstellung der Ist-Daten sowie Ermittlung der vorläufigen Erlösausgleiche),");
        fussnote1_5 = new JLabel("     - für den Vereinbarungszeitraum die Forderung des Krankenhauses nach dem ZE-Katalog für den Vereinbarungszeitraum");
        fussnote1_6 = new JLabel("       (Ziel: Darstellung für die Budgetvereinbarung");
        fussnote2 = new JLabel(" 2)   Ohne Überlieger am Jahresbeginn");
          
        hilfspanel2.add(überschrift, BorderLayout.NORTH);
        hilfspanel2.add(sp, BorderLayout.WEST );
        hilfspanel2.add(hilfspanel5);
        hilfspanel3.add(fussnote1);
        hilfspanel3.add(fussnote1_1);
        hilfspanel3.add(fussnote1_2);
        hilfspanel3.add(fussnote1_3);
        hilfspanel3.add(fussnote1_4);
        hilfspanel3.add(fussnote1_5);
        hilfspanel3.add(fussnote1_6);
        hilfspanel3.add(fussnote2);
        hilfspanel2.add(hilfspanel3, BorderLayout.SOUTH);
        // ***** Ende CENTERPANEL******
          
        // ***** SÜDPANEL******
        fusszeile_links = new JLabel("Datei: AEB-Programm 2007.0");
        fusszeile_mitte = new JLabel("                                                                              E2");
        fusszeile_rechts = new JLabel("Seite X von Seite y");
           
        südPanel.add(fusszeile_links, BorderLayout.WEST);
        südPanel.add(fusszeile_mitte, BorderLayout.CENTER);
        südPanel.add(fusszeile_rechts, BorderLayout.EAST);
         
        centerPanel.add(hilfspanel2, BorderLayout.CENTER);
				
		con1.add(nordPanel, BorderLayout.NORTH);
		con1.add(centerPanel, BorderLayout.CENTER);
		con1.add(südPanel, BorderLayout.SOUTH);
		
		// Fenster Lauscher anmelden
		addWindowListener (new WindowLauscher());
	
	}
   
}


class TD1Model extends DefaultTableModel 
{
    public TD1Model(Object[][] data, String[] labels) 
    {
        super( data, ( Object[] ) labels );
    }
    
    // isCellEditable ist für die Editierbarkeit zuständig
    public boolean isCellEditable(int row, int column) 
    {
    	return false; 
    }
}



/** ----------------------------------------------------------
 	Main Methode des Programms
	----------------------------------------------------------

*/
class E2_2006
{
	public static void main (String args[])
	{
		try
		{
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
		}
		catch (Exception ex) 
		{
            ex.printStackTrace();
        }
	 	E2 e2_2006 = new E2("E2 2006");
	 	e2_2006.setLocation(50,50);
	 	e2_2006.pack();
	 	e2_2006.setVisible(true);
	}
}
```

Und hier das andere Fenster, aus dem ich den Namen auslesen möchte:


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;

class StartFrame extends JFrame
{
	public static Container con1;
	public static JPanel budgetermittlung, stammdaten_panel;
	public static JPanel button_panel;
	public static JPanel p1, p2, p3, p4;
	public static JLabel Art, Leer, KHEntgG, BPflV, Gemischt, Stammdaten;
	public static JLabel Name, Straße, PLZ, Ort;
	public static JComboBox KHEntgG_Box, BPflV_Box, Gemischt_Box;
	public static JLabel Entgeltverhandlung;
	public static JTextField Name_text, Straße_text, PLZ_text, Ort_text;
	public static JButton weiter, nicht_speichern, speichern;
	public static JLabel information, information1, information2, leerzeile, leerzeile1;
	public static JLabel programmversion;
	public static JLabel ik_nummer, zeitraum, zeitraum1, druckdatum, druck;
	public static JLabel farbdefinition, eingabe, hinweise, katalogwerte, berechnete_werte;
	public static JTextField ik_nummer_text;
	public static JLabel leer;
	public static JLabel logo;
	
	public static JPanel nordpanel, centerpanel, centerpanel2, suedpanel, hilfspanel, hilfspanel1, hilfspanel2;
	public static JPanel bud_hilfe, bud_hilfe2;
	
	public StartFrame (String title)
	{
		super(title);
		
		addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent ev)
			{
				System.exit(0);
			}
		}
	);
	
 
	
	/*-----------------------------------------------------------------------*/
	/*Hier wird das Layout für die Budgetermittlung gebildet*/
	/*-----------------------------------------------------------------------*/
	centerpanel = new JPanel(new BorderLayout());
	
	Border b = BorderFactory.createLineBorder(Color.black);
	budgetermittlung = new JPanel();
	budgetermittlung.setLayout(new BoxLayout(budgetermittlung, BoxLayout.X_AXIS));
	con1=getContentPane();
	con1.setLayout(new BorderLayout());
	
	p1 = new JPanel();
	p1.setLayout(new BoxLayout(p1, BoxLayout.Y_AXIS));
	p1.setBorder(b);
	
	p2 = new JPanel();
	p2.setLayout(new BoxLayout(p2, BoxLayout.Y_AXIS));
	p2.setBorder(b);
	
	budgetermittlung.add(p1);
	budgetermittlung.add(p2);
	
	Art      = new JLabel("Art der Budgetermittlung                                                                                                   ");
	KHEntgG  = new JLabel("Krankenhaus unterliegt vollständig dem KHEntgG (inkl. Besondere Einrichtungen)                                          ");
	BPflV    = new JLabel ("Krankenhaus unterliegt vollständig der BPflV                                                                       ");
	Gemischt = new JLabel("Krankenhaus unterliegt in Teilen dem KHEntgG (inkl. Besondere Einrichtungen) und in Teilen der BPflV)     ");
	
	p1.add(Art);
	p1.add(KHEntgG);
	p1.add(BPflV);
	p1.add(Gemischt);
	
	String[] s = new String[2];
	s[0] = "nein";
	s[1] = "ja";
	
	Leer         = new JLabel("           ");
	Leer.setBackground(Color.green);
	KHEntgG_Box  = new JComboBox(s);
	KHEntgG_Box.setBackground(Color.green);
	BPflV_Box    = new JComboBox(s);
	BPflV_Box.setBackground(Color.green);
	Gemischt_Box = new JComboBox(s);
	Gemischt_Box.setBackground(Color.green);
	
	
	class weiterListener implements ActionListener
	{
		public void actionPerformed (ActionEvent e)
		{

		}
	}
	
	/**Auf die KHEntgG-Box reagieren*/
	KHEntgG_Box.addItemListener(new ItemListener() 
	{
		public void itemStateChanged(ItemEvent ev) 
        {
        	int code = ev.getStateChange();
            System.out.print(ev.getItem() + ": ");

            int selCode = ItemEvent.SELECTED;
            if ( code == selCode ) 
            {
            	/*System.out.println("selected");
            	Inhalt1 Inhaltv1 = new Inhalt1("Inhaltsverzeichnis KHEntgG");
            	Inhaltv1.setLocation(10,10);
            	Inhaltv1.pack();
            	Inhaltv1.setVisible(true);*/
            }
            else 
            {
            	System.out.println("de-selected");
            }
         }
     });
	
	/**Auf die Gemischt-Box reagieren*/
	Gemischt_Box.addItemListener(new ItemListener() 
	{
		public void itemStateChanged(ItemEvent ev) 
        {
        	int code = ev.getStateChange();
            System.out.print(ev.getItem() + ": ");

            int selCode = ItemEvent.SELECTED;
            if ( code == selCode ) 
            {
            	System.out.println("selected");
            }
            else 
            {
            	System.out.println("de-selected");
            }
         }
     });
	
	/**Auf die BPflV-Box reagieren*/
	BPflV_Box.addItemListener(new ItemListener() 
	{
                public void itemStateChanged(ItemEvent ev) 
                {
                    int code = ev.getStateChange();
                    System.out.print(ev.getItem() + ": ");

                    int selCode = ItemEvent.SELECTED;
                    if ( code == selCode ) 
                    {
                        System.out.println("selected");
                    }
                    else 
                    {
                        System.out.println("de-selected");
                    }
                }
            }
        );
	

        
	p2.add(Leer);
	p2.add(KHEntgG_Box);
	p2.add(BPflV_Box);
	p2.add(Gemischt_Box);
	p2.add(Leer);
	budgetermittlung.add(p1);
	
	centerpanel.add(budgetermittlung, BorderLayout.CENTER);
	
	/***************************************************************************/
	/*EINBINDEN in den Ost-Teil der Budgetermittlung*/
	/*Hierfür wird noch ein Hilfspanel benötigt.*/
	/***************************************************************************/
	bud_hilfe2 = new JPanel(new GridLayout(3,2,2,2));
	ik_nummer = new JLabel("                               IK-Nummer");
	ik_nummer_text = new JTextField(30);
	ik_nummer_text.setBackground(Color.green);
	zeitraum = new JLabel("                               Zeitraum");
	zeitraum1 = new JLabel("                              01.01. - 31.12.2007");
	druck = new JLabel("                                  Druckdatum");
	druckdatum = new JLabel("                             Hier noch heutiges Druckdatum einfügen");
	ik_nummer.setBorder(b);
	ik_nummer_text.setBorder(b);
	ik_nummer.setBackground(Color.green);
	ik_nummer.setOpaque(true);
	zeitraum.setBorder(b);
	zeitraum1.setBorder(b);
	zeitraum1.setBackground(Color.green);
	zeitraum1.setOpaque(true);
	druck.setBorder(b);
	druckdatum.setBorder(b); 
	druckdatum.setBackground(Color.green);
	druckdatum.setOpaque(true);

	bud_hilfe2.add(ik_nummer);
	bud_hilfe2.add(ik_nummer_text);
	bud_hilfe2.add(zeitraum);
	bud_hilfe2.add(zeitraum1);
	bud_hilfe2.add(druck);
	bud_hilfe2.add(druckdatum);
	
	centerpanel.add(bud_hilfe2, BorderLayout.EAST);
	
	/*-----------------------------------------------------------------------*/
	
	/*-----------------------------------------------------------------------*/
	/*Erfassung der Stammdaten*/
	/*-----------------------------------------------------------------------*/
	
	centerpanel2 = new JPanel(new GridLayout(7,2,1,1));
	Stammdaten = new JLabel("         Stammdaten");
	Stammdaten.setBackground(Color.gray);
	Stammdaten.setOpaque(true);
	Name = new JLabel("Name");
	Straße = new JLabel("Straße");
	PLZ = new JLabel("PLZ");
	Ort = new JLabel("Ort ");
	Name.setBorder(b);
	Straße.setBorder(b);
	PLZ.setBorder(b);
	Ort.setBorder(b);
	
	Name_text = new JTextField(50);
	Name_text.setBorder(b);
	Name_text.setBackground(Color.green);
	Straße_text = new JTextField(50);
	Straße_text.setBorder(b);
	Straße_text.setBackground(Color.green);
	PLZ_text = new JTextField(50);
	PLZ_text.setBorder(b);
	PLZ_text.setBackground(Color.green);
	Ort_text = new JTextField(50);
	Ort_text.setBorder(b);
	Ort_text.setBackground(Color.green);
	
	centerpanel2.add(Leer);
	centerpanel2.add(Stammdaten);
	centerpanel2.add(Name);
	centerpanel2.add(Straße);
	centerpanel2.add(PLZ);
	centerpanel2.add(Ort);
	centerpanel2.add(Name);
	centerpanel2.add(Name_text);
	centerpanel2.add(Straße);
	centerpanel2.add(Straße_text);
	centerpanel2.add(PLZ);
	centerpanel2.add(PLZ_text);
	centerpanel2.add(Ort);
	centerpanel2.add(Ort_text);
	
	centerpanel.add(centerpanel2, BorderLayout.SOUTH);
	/*-----------------------------------------------------------------------*/
	
	
	/*-----------------------------------------------------------------------*/
	/*Norden*/
	/*-----------------------------------------------------------------------*/
	nordpanel = new JPanel(new BorderLayout());
	Entgeltverhandlung = new JLabel("                                                                                                                                                                  Entgeltverhandlungen 2007");
	leerzeile = new JLabel("                                                                                                              ");
	logo = new JLabel(new ImageIcon("BKG-Logo.gif"));
	nordpanel.add(Entgeltverhandlung, BorderLayout.NORTH);
	nordpanel.add(logo, BorderLayout.EAST);
	nordpanel.add(leerzeile, BorderLayout.SOUTH);
	
	
	/*-----------------------------------------------------------------------*/
	/*Süden*/
	/*-----------------------------------------------------------------------*/
	
	suedpanel = new JPanel(new BorderLayout());
	weiter = new JButton("Weiter");
	weiter.setBorder(b);
	nicht_speichern = new JButton("Schließen & Nicht Speichern");
	nicht_speichern.setBorder(b);
	speichern = new JButton("Schließen & Speichern");
	speichern.setBorder(b);
	
	hilfspanel = new JPanel(new GridLayout(4,1,5,5));
	programmversion = new JLabel("                                                          Programmversion 2007.1");
	information = new JLabel("Für Rückfragen wenden Sie sich bitte direkt an die Geschäftsstelle:");
	information1 = new JLabel("> inhaltliche Fragen: Thomas Wolf (Tel.: 089/290830-23) oder Swen Dressler (089/290830-41)");
	information2 = new JLabel("> technische Fragen: Alexandra Häfner (Tel.: 089/290830-43) oder Frank Rösch (089/290830-25)");
	
	hilfspanel1 = new JPanel(new GridLayout(6,1,1,1));
	leer = new JLabel("                                                                  ");
	farbdefinition = new JLabel("Farbdefinitionen in den Formularen");
	farbdefinition.setBorder(b);
	farbdefinition.setBackground(Color.gray);
	farbdefinition.setOpaque(true);
	eingabe = new JLabel("Eingabe");
	eingabe.setBorder(b);
	eingabe.setBackground(Color.green);
	eingabe.setOpaque(true);
	hinweise = new JLabel("Hinweise");
	hinweise.setBorder(b);
	hinweise.setBackground(Color.yellow);
	hinweise.setOpaque(true);
	katalogwerte = new JLabel("Katalogwerte");
	katalogwerte.setBorder(b);
	katalogwerte.setBackground(Color.red);
	katalogwerte.setOpaque(true);
	berechnete_werte = new JLabel("berechnete Werte");
	berechnete_werte.setBackground(Color.blue);
	berechnete_werte.setOpaque(true);
	berechnete_werte.setBorder(b);
	
	hilfspanel1.add(leer);
	hilfspanel1.add(farbdefinition);
	hilfspanel1.add(eingabe);
	hilfspanel1.add(hinweise);
	hilfspanel1.add(katalogwerte);
	hilfspanel1.add(berechnete_werte);
	
	button_panel = new JPanel(new GridLayout(1,3,5,5));
	button_panel.add(nicht_speichern);
	button_panel.add(speichern);
	button_panel.add(weiter);
	
	hilfspanel.add(programmversion);
	hilfspanel.add(information);
	hilfspanel.add(information1);
	hilfspanel.add(information2);
	
	hilfspanel2 = new JPanel(new BorderLayout());
	hilfspanel2.add(hilfspanel, BorderLayout.WEST);
	hilfspanel2.add(hilfspanel1, BorderLayout.EAST);
	
	suedpanel.add(button_panel, BorderLayout.NORTH);
	suedpanel.add(hilfspanel2, BorderLayout.CENTER);
	
	con1.add(nordpanel, BorderLayout.NORTH);
	con1.add(centerpanel, BorderLayout.CENTER);
	con1.add(suedpanel, BorderLayout.SOUTH);
	
	
	}
}

public class AEB_Programm
{
	public static void main (String[] args )
	{
		/*Hier wird jeweils das LookAndFeel des jeweiligen Betriebssystems geladen*/
		/*try 
		{
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
   		}*/
   		//catch(Exception e) 
   		//{
      		/*JOptionPane.showMessageDialog(null,
      		"Das LookAndFeel des Betriebssystems konnte nicht geladen werden.\nDas Programm wird daher im Java-LookAndFeel angezeigt.",
      		"LookAndFeel-Fehler");*/
   		//}
   		 
		StartFrame frm = new StartFrame("AEB-Programm 2007");
		frm.setVisible(true);
		frm.setSize(800,500);
		frm.pack();
	}
}
```

Ich verstehe nicht, warum ich die Null-Pointer-Exception bekomme. :bahnhof:


----------



## Guest (30. Jul 2006)

warum machst du in StartFrame die ganzen instanzvariablen static?


----------



## Alex_winf01 (30. Jul 2006)

```
JTextField Name_text
```

Z. B. weil ich aus einer anderen Klasse auf das JTextField Name_text zugreifen MUSS. Der Anwender gibt hier was ein. Diese Eingabe benötige ich auch in einer anderen Klasse. Deswegen static. Ich muss später auch auf andere Komponenten zugreifen können.


----------



## L-ectron-X (30. Jul 2006)

Ganz schlechte Idee...
So hast du immer nur ein und den selben Wert aus deinem Textfeld in allen anderen Klassen.
Das, was jetzt noch unproblematisch und komfortabel aussieht, kann später mal ein ganzes "Konzept" und Programm unbrauchbar machen.

Löse das lieber mit Referenzen.
Dazu gibts einen schönen Beitrag in der FAQ: http://www.java-forum.org/de/viewtopic.php?p=87333#87333


----------



## Alex_winf01 (31. Jul 2006)

Dieses Textfeld hat immer denselben Wert. Ein Krankenhaus hat nur einen Namen und eine Anschrift (in meinem Fall). Aber ich schaue mir den Hinweis gerne an.


----------



## Guest (31. Jul 2006)

Zurück zu meiner Frage:

Wie kann ich einem JLabel den Wert eines JTextFields übergeben? Bei mir kommt eine Null-Pointer-Exception.


----------



## L-ectron-X (31. Jul 2006)

Kannst du mal den relevanten Code posten?
Denn auch nach einem Test bekomme ich keine NullPointerException.


----------



## Alex_winf01 (31. Jul 2006)

Aus der Klasse StartFrame möchte ich folgendes Textfeld auslesen:


```
Name_text = new JTextField(50);
   Name_text.setBorder(b);
   Name_text.setBackground(Color.green);
   Straße_text = new JTextField(50);
```

und es in der Klasse E2 mache ich folgendes:


```
/**************************************************************
      /Hier kommt die Null-Pointer-Exception
      /**************************************************************
      krankenhaus_name = new JLabel(StartFrame.Name_text.getText());
      krankenhaus_strasse = new JLabel(StartFrame.Straße_text.getText());
      krankenhaus_plz = new JLabel(StartFrame.PLZ_text.getText());
      krankenhaus_ort = new JLabel(StartFrame.Ort_text.getText());
```

Und da kommt dann auch die Null-Pointer-Exception. Sobald ich versuche, mit getText() auf das Textfeld zuzugreifen.
Bei deinem Test konnte auch keine Exception kommen, da die entscheidenen Zeilen 85-89 auskommentiert sind.


----------



## Leroy42 (31. Jul 2006)

Es sieht so aus, als ob du schon in der Initialisierungsphase auf deine
Komponente mit getText zugreifen willst.

Mal abgesehen davon, daß man sowas nicht macht (keine
Ahnung ob das überhaupt geht) bist du dir sicher, daß der
Text deines TextFields überhaupt schon initialisiert wurde? (Reihenfolge)

Bevor du nicht die grundlegensten Konzepte der OO-Programmierung
gelernt hast, glaube ich, daß du dich mit diesem Programm übernommen
hast und irgendwann den Wald vor lauter Ameisen nicht mehr siehst.  :roll:


----------



## Alex_winf01 (31. Jul 2006)

@ Leroy42

es ist ja nicht so, als ob ich nicht schon mal mit getText() und setText() gearbeitet hätte. Ich dachte, dass würde so gehen. Aber gut, dann hole ich mir halt zunächst mit getText() den Text aus dem Textfeld (ich bin mir sicher, dass der Text des TextFields initialisiert wurde, sonst würde mein erstes Fenster nicht richtig funktionieren) und übergebe es erst dann dem JLabel.


----------

