String aus einem JTextField an ein JLabel übergeben

Status
Nicht offen für weitere Antworten.

Alex_winf01

Top Contributor
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

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

Code:
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:

Code:
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:
 
G

Guest

Gast
warum machst du in StartFrame die ganzen instanzvariablen static?
 

Alex_winf01

Top Contributor
Code:
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

Gesperrter Benutzer
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

Top Contributor
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.
 
G

Guest

Gast
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

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

Alex_winf01

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

Code:
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:

Code:
/**************************************************************
      /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

Top Contributor
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

Top Contributor
@ 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.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
F RGB-Werte aus einem String einlesen AWT, Swing, JavaFX & SWT 26
Y Darstellung und MouseHover bei bestimmten Wörtern in einem String AWT, Swing, JavaFX & SWT 2
G Ein Wort in einem String färben in einer Canvas AWT, Swing, JavaFX & SWT 10
F kleines problem beim suchen in einem String AWT, Swing, JavaFX & SWT 15
B Erstes Zeichen in einem String toUpperCase ??? AWT, Swing, JavaFX & SWT 4
C Swing Übergabe von String an JLabel AWT, Swing, JavaFX & SWT 9
officialmaxl JavaFX Textfield getTextfield() in String speichern AWT, Swing, JavaFX & SWT 1
H String zu int/long AWT, Swing, JavaFX & SWT 8
D String als Textdatei in ausgewähltem Speicherplatz speichern AWT, Swing, JavaFX & SWT 32
R Swing Ein gezeichneten String aus dem JFrame löschen AWT, Swing, JavaFX & SWT 5
H String teilen, damit bei JLabel keine Punkte am Ende angezeigt werden AWT, Swing, JavaFX & SWT 4
J SWT Search string highlite AWT, Swing, JavaFX & SWT 5
M JavaFX String aus TextField reagiert nicht wie erwartet AWT, Swing, JavaFX & SWT 3
J Event Handling Input auf String testen, Fehlermeldung ausgeben AWT, Swing, JavaFX & SWT 4
D JavaFX ComboBox String setzen AWT, Swing, JavaFX & SWT 20
X Zeilen aus einer Textdatei einzelnd als String abrufen AWT, Swing, JavaFX & SWT 8
KilledByCheese Event Handling Vom ActionEvent auf String zugreifen - genaueres in der Beschreibung AWT, Swing, JavaFX & SWT 3
T replace string AWT, Swing, JavaFX & SWT 1
D String zu StringProperty Konvertieren AWT, Swing, JavaFX & SWT 4
T jTextField mit String befüllen AWT, Swing, JavaFX & SWT 1
E Eigenes TableModel für ArrayList<String[]> AWT, Swing, JavaFX & SWT 5
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
L Zwei String Array in eine Spalte einfügen AWT, Swing, JavaFX & SWT 1
P DefaultStyledDocument eingegebenen String durchsuchen und bestimmte Sachen einfärben AWT, Swing, JavaFX & SWT 1
B 2D-Grafik String drehen/platzieren/formatieren in bestimmten Bereich AWT, Swing, JavaFX & SWT 1
A Swing Logikaufgabe: Zeilenanzahl einer JTable mit 3d String dynamisch anpassen AWT, Swing, JavaFX & SWT 2
S XML Output String Format AWT, Swing, JavaFX & SWT 2
R Swing JTextField getText() liefert leeren String AWT, Swing, JavaFX & SWT 6
P Swing String mit unterschiedlichen Formaten zusammenbauen AWT, Swing, JavaFX & SWT 14
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
J 2D-Grafik String aus array wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
L Swing JToogleButton Vordergrundfarbe bei HTML String AWT, Swing, JavaFX & SWT 4
T Swing JProgressBar mit String unschön AWT, Swing, JavaFX & SWT 5
M Swing String zerlegen AWT, Swing, JavaFX & SWT 2
J Swing String soll als Variable dienen AWT, Swing, JavaFX & SWT 11
A Text (String) zu einer Box hinzufügen AWT, Swing, JavaFX & SWT 16
D textfeld string zu float AWT, Swing, JavaFX & SWT 5
B Color String Code AWT, Swing, JavaFX & SWT 3
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
E selektierter Datensatz in JList als String Datentyp AWT, Swing, JavaFX & SWT 23
S String is null Fehler AWT, Swing, JavaFX & SWT 2
M SomeClass.class.getResourceAsStream(String filename) funktioniert nicht in jar) AWT, Swing, JavaFX & SWT 32
B JTable Component mit String? AWT, Swing, JavaFX & SWT 4
S String Array Ausgabe im JLabel ??? AWT, Swing, JavaFX & SWT 8
D JSplitPane, Jtree, CardLayout (constraint must be a string) AWT, Swing, JavaFX & SWT 9
L SWT Text SelectionText ersetzen durch anderen String AWT, Swing, JavaFX & SWT 6
B Color.BLUE in String umwandeln AWT, Swing, JavaFX & SWT 4
H String auf Knopfdruck in JPanel zeichnen. AWT, Swing, JavaFX & SWT 6
P 2D-Grafik String übergeben, PNG soll rauskommen AWT, Swing, JavaFX & SWT 9
A Formatierten String ausgeben (drawString) AWT, Swing, JavaFX & SWT 5
S Swing Grundprinzip String ausgeben, aber wie? AWT, Swing, JavaFX & SWT 6
R JComboBox Ausgabe in String speichern AWT, Swing, JavaFX & SWT 3
TiME-SPLiNTER Swing JListModel: String rendern AWT, Swing, JavaFX & SWT 2
R String in JFrame ausgeben AWT, Swing, JavaFX & SWT 10
D Zwei String Attribute über eine Methode als Zeilen in einer Tabelle darstellen AWT, Swing, JavaFX & SWT 9
C Swing Text eines JButton mit String definieren? Reihenfolge? AWT, Swing, JavaFX & SWT 6
S [Button] setText("String") AWT, Swing, JavaFX & SWT 5
1 BufferedImage in byte[], dann in String und zurück AWT, Swing, JavaFX & SWT 7
I String lowercase, uppercase und umdrehen AWT, Swing, JavaFX & SWT 3
D Swing JTextField String anhängen AWT, Swing, JavaFX & SWT 7
F Swing String Array mit JTextArea anzeigen AWT, Swing, JavaFX & SWT 13
P Canvas: String wird nicht gezeichnet AWT, Swing, JavaFX & SWT 5
D SWT String aus Textfeld auslesen und in eine Tabelle speichern AWT, Swing, JavaFX & SWT 5
T SWT String mitten ins Textfeld einfügen + richtige Cursorposition AWT, Swing, JavaFX & SWT 3
T Swing Wie kann ich einen String in ein TreePath umwandeln? AWT, Swing, JavaFX & SWT 5
H String ausführen und damit weiterarbeiten AWT, Swing, JavaFX & SWT 4
radiac AWT Mausposition als String ausgeben??? AWT, Swing, JavaFX & SWT 5
U Swing Eingabe von JTextField in einen String übergeben. AWT, Swing, JavaFX & SWT 3
N SWT Ende vom String in Text anzeigen AWT, Swing, JavaFX & SWT 5
B ActionEvent Dateipfad als String übergeben AWT, Swing, JavaFX & SWT 11
bugmenot JTextPane String stimmt nicht mit übergebenem String überein AWT, Swing, JavaFX & SWT 9
G JTextArea: String formatieren AWT, Swing, JavaFX & SWT 2
S List<String> in JTextArea! AWT, Swing, JavaFX & SWT 4
G in JTextField wie in der Console Ein String ein lesen AWT, Swing, JavaFX & SWT 8
G Date in einen String umwandeln AWT, Swing, JavaFX & SWT 4
S schauen ob ein string leer ist AWT, Swing, JavaFX & SWT 4
B JTextPane und Image importieren in HTML String. AWT, Swing, JavaFX & SWT 2
S Suchen im String-Array AWT, Swing, JavaFX & SWT 3
mabe83 Swing: jTableCellRenderer -> Klappt nur bei String-Spalte AWT, Swing, JavaFX & SWT 2
O String aus Klasse X in Klasse Y befördern AWT, Swing, JavaFX & SWT 12
M leerzeichen aus string entfernen AWT, Swing, JavaFX & SWT 3
S String an eine andere Klasse im anderem package übergeben AWT, Swing, JavaFX & SWT 3
B NullPointerException bei String vergleich AWT, Swing, JavaFX & SWT 5
T String in String [] umwandeln?? AWT, Swing, JavaFX & SWT 4
S Checkbox oder String in JTable-Spalte AWT, Swing, JavaFX & SWT 4
E Frage zum String AWT, Swing, JavaFX & SWT 6
M BufferedImage mit html interpretierten String beschriften AWT, Swing, JavaFX & SWT 3
K Choice auswahl und String in Int AWT, Swing, JavaFX & SWT 8
Y entfernten String einer JTextPane per DocumentListener AWT, Swing, JavaFX & SWT 5
C string wird mehr fach gezeichnet AWT, Swing, JavaFX & SWT 3
S String aus JTextField AWT, Swing, JavaFX & SWT 11
B JTable String übergeben AWT, Swing, JavaFX & SWT 3
C string spiegeln AWT, Swing, JavaFX & SWT 14
M jEditorPane String to html AWT, Swing, JavaFX & SWT 2
S double in String umwandeln AWT, Swing, JavaFX & SWT 6
R Double in der Tabelle statt String und Integer AWT, Swing, JavaFX & SWT 3
G ActionListener zu String hinzufügen AWT, Swing, JavaFX & SWT 2
I JProgressBar String anzeigen, danach wieder normale Ansicht AWT, Swing, JavaFX & SWT 3
G Quadratmeter im String darstellen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben