Such- und Ausgabefunktion

merTii

Mitglied
Moin an alle!

Ich bin neu hier und wünsch euch erst einmal einen wunderschönen Tag! ;)...was für ein Wetter!
Ich hab leider folgendes Problem:

Ich hab eine Suchfunktion erstellt, in der man in einen Textfeld ein beliebiges Skigebiet eingeben kann, welches in meiner Datenbank vorhanden ist. Durch diese Eingabe erscheint ein neues Fenster, in der jeweilige Informationen zu dem Skigebiet ist.

Das Fenster, in dem ich das Skigebiet eingebe heißt Suchfenster. Das darauffolgende Fenster mit den Informationen heißt Infofenster.
Ich will nun, dass ich ein Skigebiet im Suchfenster eingebe und die Informationen dann direkt mit dem Infofenster ausgegeben werden.

Ich hab bereits eine Methode "anzeigen()" in dem Infofenster programmiert. Ich hab als Probe in dem Infofenster ein Textfeld mit einem Button erstellt, um die Methode "anzeigen()" zu überprüfen. Die Methode funktioniert und die Informationen werden ausgegeben.

Nun denke ich, dass ich die Methode als "public void anzeigen()" machen muss und in dem Suchfenster aufrufen muss...nur wo genau?

Als Hilfe hab ich die Quellcodes:

Suchfenster:

Java:
private JTextField getTfSuche() {
		if (tfSuche == null) {
			
			tfSuche = new JTextField();
			tfSuche.setBounds(new Rectangle(296, 94, 282, 22));
			tfSuche.setToolTipText("Hier können Sie ein beliebiges Skigebiet suchen!");
			
			
			tfSuche.addKeyListener(new java.awt.event.KeyAdapter() {
				public void keyPressed(java.awt.event.KeyEvent e) {
					System.out.println("keyPressed()"); 
					// TODO Auto-generated Event stub keyPressed()
					
					
					int key = e.getKeyCode();
					
					if(key == KeyEvent.VK_ENTER)
					{
						boolean mSchalter = true;
						
						einStart = new Suchen();
						einStart.setAlleSkigebiete(tfSuche.getText());
						einStart.skisuchen();
						
						mSchalter = einStart.skizuweisen();
						
						
						if(mSchalter)
						{	
							
							JDialog dialog = new JDialog();
							Infofenster inst = new Infofenster(null);
							inst.setVisible(true);
							
							//Infofenster einSuch = new Infofenster(null); <--- Wohin?
							//einSuch.anzeigen(); <--- Wohin damit?
							Suchfenster.this.dispose();
						}
					}
				}
			});
			
		}
		return tfSuche;
	}


und hier ist meine Methode "anzeigen()" vom Infofenster:

Java:
public void anzeigen()
	{
		try
		{
			this.tfSchlepper.setText(einSuchen.getSchlepper());
			this.tfSeßel.setText(einSuchen.getSeßel());
			this.tfGondel.setText(einSuchen.getGondel());
			this.tfKabine.setText(einSuchen.getKabine());
			this.tfSaisonvon.setText(einSuchen.getSaisonvon());
			this.tfSaisonbis.setText(einSuchen.getSaisonbis());
			this.tfBetriebvon.setText(einSuchen.getBetriebvon());
			this.tfBetriebbis.setText(einSuchen.getBetriebbis());
			this.tfLeicht.setText(einSuchen.getLeicht());
			this.tfMittel.setText(einSuchen.getMittel());
			this.tfSchwer.setText(einSuchen.getSchwer());

                         }
		
		catch(Exception e)
		{
			System.out.println("Anzeigen fehlgeschlagen!");
		}
	}

Danke im Voraus!
mfg
merTii
 

Volvagia

Top Contributor
Man gibt Exceptions ja auch i. d. R. aus und Exception fängt man nur im Testfall ab. Ich vermute eine NullPointerException dem Code nach.
 

Volvagia

Top Contributor
Auf jeden Fall nicht Exceptions catchen. Die versuchen dir was mitzuteilen, ich verstehe nicht warum das alle Newbits immer versuchen.
 

merTii

Mitglied
Also ich hab mal gegooglet und hab jetzt erfahren, dass ein NullPointerException bedeutet, dass ich auf etwas ohne Inhalt verweise...wie kann ich das jetzt umgehen?
 

Volvagia

Top Contributor
Du greifst im try auf ein Object namens "einSuchen" zu. Ich nehme an, du willst es per Konstruktor übergeben, und als Klassenvariable speichern. Du intialisierst Infofenster aber mit null im Konstruktor, wodurch die Variable einSuchen auf null gesetzt wird (was sie ja schon von Haus aus ist), deshalb bekommst du einen Fehler, da sie ja auf nichts verweißt.

Merksatz: Hinter jeden erfolgreichen nicht-elementaren Variablezugriff steckt ein Objekt, auf das sie verweißt. (Erfunden von Vol. :autsch:)
 

merTii

Mitglied
Okay du meinst dann wohl die Zeile:

Java:
Infofenster inst = new Infofenster(null);

kannst du mir evt. sagen, mit was ich das sonst initialisieren kann?
 

merTii

Mitglied
Hier ist mein Code von meinem Suchfenster:

Java:
package paket1;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import java.awt.Frame;
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JDialog;
import java.awt.Dimension;
import javax.swing.JTextField;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;

import javax.swing.JLabel;
import javax.swing.JButton;

public class Suchfenster extends JDialog {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JTextField tfSuche = null;
	private JLabel lbDE = null;
	private JLabel lbSchweiz = null;
	private JLabel lbÖsterreich = null;
	private JLabel lbHintergrund = null;
	private JLabel lbSchließen = null;
	
	private Suchen einStart;
	private Infofenster einSuch;
	
	/**
	 * This method initializes tfSuche	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfSuche() {
		if (tfSuche == null) {
			
			tfSuche = new JTextField();
			tfSuche.setBounds(new Rectangle(296, 94, 282, 22));
			tfSuche.setToolTipText("Hier können Sie ein beliebiges Skigebiet suchen!");
			
			
			tfSuche.addKeyListener(new java.awt.event.KeyAdapter() {
				public void keyPressed(java.awt.event.KeyEvent e) {
					System.out.println("keyPressed()"); 
					// TODO Auto-generated Event stub keyPressed()
					
					
					int key = e.getKeyCode();
					
					if(key == KeyEvent.VK_ENTER)
					{
						boolean mSchalter = true;
						
						einStart = new Suchen();
						einStart.setAlleSkigebiete(tfSuche.getText());
						einStart.skisuchen();
						
						mSchalter = einStart.skizuweisen();
						
						
						if(mSchalter)
						{	
							JFrame frame = new JFrame();
							Infofenster1 inst = new Infofenster(null);
							
							inst.setVisible(true);
							
							einSuch.anzeigen();
							Suchfenster.this.dispose();
						}
					}
				}
			});
			
		}
		return tfSuche;
	}
	

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

	/**
	 * @param owner
	 */
	public Suchfenster(Frame owner) {
		super(owner);
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		
		this.setLocation(325, 150);
		this.setContentPane(getJContentPane());
		
		this.setSize(673, 506);
		this.setTitle("iSnow - Alle Skigebiete auf einen Blick!");
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			
			Image exit = Toolkit.getDefaultToolkit().createImage("C:/Users/h.jpg");
			lbSchließen = new JLabel(new ImageIcon(exit));
			lbSchließen.setBounds(new Rectangle(551, 14, 78, 43));
			lbSchließen.setText("");
			lbSchließen.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					System.out.println("mouseClicked()");
					
					int mExit = JOptionPane.showOptionDialog(null,
							"Möchten Sie wirklich schließen? ", 
							"Achtung!",
							JOptionPane.YES_NO_OPTION, 
							JOptionPane.QUESTION_MESSAGE, 
							null, null, null);
                    
					if (mExit == 0)
                    {
                        System.exit(0);
                    }
					
					
					// TODO Auto-generated Event stub mouseClicked()
				}
			});
			
			Image hint = Toolkit.getDefaultToolkit().createImage("C:/Users/Efe/Documents/Mert/GFS/Bilder/Startseite.jpg");
			lbHintergrund = new JLabel(new ImageIcon(hint));
			lbHintergrund.setBounds(new Rectangle(0, -1, 655, 473));
			lbHintergrund.setText("JLabel");
			
			
			
			Image image = Toolkit.getDefaultToolkit().createImage("C:/Users/Efe/Documents/Mert/GFS/Bilder/Flaggen/Österreich2.jpg");
			lbÖsterreich = new JLabel(new ImageIcon(image));
			lbÖsterreich.setBounds(new Rectangle(368, 339, 203, 111));
			lbÖsterreich.setToolTipText("Hier können Sie ein Skigebiet in Österreich suchen!");
			lbÖsterreich.setText("");
			lbÖsterreich.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					System.out.println("mouseClicked()"); 
					
					JFrame frame = new JFrame();
					Österreich inst = new Österreich(frame);
					inst.setVisible(true);
					Suchfenster.this.dispose();
					
					
					
					
					// TODO Auto-generated Event stub mouseClicked()
				}
			});
		
			Image pic = Toolkit.getDefaultToolkit().createImage("C:/Users/Efe/Documents/Mert/GFS/Bilder/Flaggen/Schweiz2.jpg");
			lbSchweiz = new JLabel(new ImageIcon(pic));
			lbSchweiz.setBounds(new Rectangle(81, 333, 205, 121));
			lbSchweiz.setToolTipText("Hier können Sie ein Skigebiet in der Schweiz suchen!");
			lbSchweiz.setText("");
			lbSchweiz.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					System.out.println("mouseClicked()"); 
					
					JFrame frame = new JFrame();
					Schweiz inst = new Schweiz(frame);
					inst.setVisible(true);
					Suchfenster.this.dispose();
					
					
					
					
					
					// TODO Auto-generated Event stub mouseClicked()
				}
			});
			
			
			Image bild = Toolkit.getDefaultToolkit().createImage("C:/Users/Efe/Documents/Mert/GFS/Bilder/Flaggen/Deutschland2.jpg");
			lbDE = new JLabel(new ImageIcon(bild));			
			lbDE.setBounds(new Rectangle(239, 142, 150, 189));
			lbDE.setToolTipText("Hier können Sie ein Skigebiet in Deutschland suchen!");
			lbDE.setText("");
			lbDE.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					System.out.println("mouseClicked()"); 
					
					JFrame frame = new JFrame();
					Deutschland inst = new Deutschland(frame);
					inst.setVisible(true);
					Suchfenster.this.dispose();
					
					
					
					
					// TODO Auto-generated Event stub mouseClicked()
				}
			});
			
			
			
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getTfSuche(), null);
			jContentPane.add(lbDE, 0);
			jContentPane.add(lbSchweiz, 0);
			jContentPane.add(lbÖsterreich, 0);
			jContentPane.add(lbHintergrund, null);
			jContentPane.add(lbSchließen, 0);
		}
		return jContentPane;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"



Und hier ist der Code von meinem Infofenster, welches mit den Infos erscheinen soll:

Java:
package paket1;

import javax.swing.JPanel;
import java.awt.Frame;
import java.awt.BorderLayout;
import javax.swing.JDialog;
import java.awt.Dimension;
import javax.swing.JTabbedPane;
import java.awt.Rectangle;
import java.awt.GridBagLayout;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JTextArea;

public class Infofenster extends JDialog {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JTabbedPane jTabbedPane = null;
	private JPanel Skigebiet = null;
	private JPanel Liftinfo = null;
	private JPanel Öffnungszeiten = null;
	private JPanel Wetter = null;
	private JLabel lbSchlepper = null;
	private JLabel lbGondel = null;
	private JLabel lbSeßel = null;
	private JLabel lbKabine = null;
	private JTextField tfSchlepper = null;
	private JTextField tfGondel = null;
	private JTextField tfSeßel = null;
	private JTextField tfKabine = null;
	private JLabel lbLeicht = null;
	private JLabel lbMittel = null;
	private JLabel lbSchwer = null;
	private JTextField tfLeicht = null;
	private JTextField tfMittel = null;
	private JTextField tfSchwer = null;
	private JTextField tfSuchen = null;
	private JButton btAnzeigen = null;
	
	private Suchen einSuchen;
	private Preise einPreis;
	
	private JTextField tfSaisonvon = null;
	private JTextField tfSaisonbis = null;
	private JTextField tfBetriebvon = null;
	private JTextField tfBetriebbis = null;
	private JTextArea taPreise = null;
	/**
	 * This method initializes jTabbedPane	
	 * 	
	 * @return javax.swing.JTabbedPane	
	 */
	private JTabbedPane getJTabbedPane() {
		if (jTabbedPane == null) {
			jTabbedPane = new JTabbedPane();
			jTabbedPane.setBounds(new Rectangle(3, 2, 618, 390));
			jTabbedPane.addTab("Liftinfo", new ImageIcon(getClass().getResource("/Lift.png")), getLiftinfo(), null);
			jTabbedPane.addTab("Skigebiet", new ImageIcon(getClass().getResource("/Bergee.png")), getSkigebiet(), null);
			jTabbedPane.addTab("Preise / Öffnungszeiten", new ImageIcon(getClass().getResource("/Schlaf.png")), getÖffnungszeiten(), null);
			jTabbedPane.addTab("Wetter", new ImageIcon(getClass().getResource("/wetter.png")), getWetter(), null);
		}
		return jTabbedPane;
	}

	/**
	 * This method initializes Skigebiet	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getSkigebiet() {
		if (Skigebiet == null) {
			Skigebiet = new JPanel();
			Skigebiet.setLayout(null);
		}
		return Skigebiet;
	}

	/**
	 * This method initializes Liftinfo	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getLiftinfo() {
		if (Liftinfo == null) {
			lbSchwer = new JLabel();
			lbSchwer.setBounds(new Rectangle(403, 210, 28, 34));
			lbSchwer.setIcon(new ImageIcon(getClass().getResource("/Schwer.jpg")));
			lbSchwer.setText("");
			lbMittel = new JLabel();
			lbMittel.setBounds(new Rectangle(265, 209, 27, 32));
			lbMittel.setIcon(new ImageIcon(getClass().getResource("/Mittel.jpg")));
			lbMittel.setText("");
			lbLeicht = new JLabel();
			lbLeicht.setBounds(new Rectangle(78, 210, 28, 31));
			lbLeicht.setIcon(new ImageIcon(getClass().getResource("/Leicht.jpg")));
			lbLeicht.setText("");
			lbKabine = new JLabel();
			lbKabine.setBounds(new Rectangle(393, 114, 27, 29));
			lbKabine.setIcon(new ImageIcon(getClass().getResource("/kabinenbahnen.1.gif")));
			lbKabine.setText("");
			lbSeßel = new JLabel();
			lbSeßel.setBounds(new Rectangle(392, 58, 27, 29));
			lbSeßel.setIcon(new ImageIcon(getClass().getResource("/sessellifte.1.gif")));
			lbSeßel.setText("");
			lbGondel = new JLabel();
			lbGondel.setBounds(new Rectangle(78, 113, 26, 31));
			lbGondel.setIcon(new ImageIcon(getClass().getResource("/gondeln.1.gif")));
			lbGondel.setText("");
			lbSchlepper = new JLabel();
			lbSchlepper.setBounds(new Rectangle(75, 57, 27, 30));
			lbSchlepper.setIcon(new ImageIcon(getClass().getResource("/schlepplifte.1.gif")));
			lbSchlepper.setText("");
			Liftinfo = new JPanel();
			Liftinfo.setLayout(null);
			Liftinfo.add(lbSchlepper, null);
			Liftinfo.add(lbGondel, null);
			Liftinfo.add(lbSeßel, null);
			Liftinfo.add(lbKabine, null);
			Liftinfo.add(getTfSchlepper(), null);
			Liftinfo.add(getTfGondel(), null);
			Liftinfo.add(getTfSeßel(), null);
			Liftinfo.add(getTfKabine(), null);
			Liftinfo.add(lbLeicht, null);
			Liftinfo.add(lbMittel, null);
			Liftinfo.add(lbSchwer, null);
			Liftinfo.add(getTfLeicht(), null);
			Liftinfo.add(getTfMittel(), null);
			Liftinfo.add(getTfSchwer(), null);
			Liftinfo.add(getTfSuchen(), null);
			Liftinfo.add(getBtAnzeigen(), null);
		}
		return Liftinfo;
	}

	/**
	 * This method initializes Öffnungszeiten	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getÖffnungszeiten() {
		if (Öffnungszeiten == null) {
			Öffnungszeiten = new JPanel();
			Öffnungszeiten.setLayout(null);
			Öffnungszeiten.add(getTfSaisonvon(), null);
			Öffnungszeiten.add(getTfSaisonbis(), null);
			Öffnungszeiten.add(getTfBetriebvon(), null);
			Öffnungszeiten.add(getTfBetriebbis(), null);
			Öffnungszeiten.add(getTaPreise(), null);
		}
		return Öffnungszeiten;
	}

	/**
	 * This method initializes Wetter	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getWetter() {
		if (Wetter == null) {
			Wetter = new JPanel();
			Wetter.setLayout(null);
		}
		return Wetter;
	}

	/**
	 * This method initializes tfSchlepper	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfSchlepper() {
		if (tfSchlepper == null) {
			tfSchlepper = new JTextField();
			tfSchlepper.setBounds(new Rectangle(125, 59, 28, 26));
		}
		return tfSchlepper;
	}

	/**
	 * This method initializes tfGondel	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfGondel() {
		if (tfGondel == null) {
			tfGondel = new JTextField();
			tfGondel.setBounds(new Rectangle(125, 115, 27, 27));
		}
		return tfGondel;
	}

	/**
	 * This method initializes tfSeßel	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfSeßel() {
		if (tfSeßel == null) {
			tfSeßel = new JTextField();
			tfSeßel.setBounds(new Rectangle(437, 60, 26, 26));
		}
		return tfSeßel;
	}

	/**
	 * This method initializes tfKabine	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfKabine() {
		if (tfKabine == null) {
			tfKabine = new JTextField();
			tfKabine.setBounds(new Rectangle(438, 116, 24, 27));
		}
		return tfKabine;
	}

	/**
	 * This method initializes tfLeicht	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfLeicht() {
		if (tfLeicht == null) {
			tfLeicht = new JTextField();
			tfLeicht.setBounds(new Rectangle(122, 212, 62, 25));
		}
		return tfLeicht;
	}

	/**
	 * This method initializes tfMittel	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfMittel() {
		if (tfMittel == null) {
			tfMittel = new JTextField();
			tfMittel.setBounds(new Rectangle(304, 211, 67, 28));
		}
		return tfMittel;
	}

	/**
	 * This method initializes tfSchwer	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfSchwer() {
		if (tfSchwer == null) {
			tfSchwer = new JTextField();
			tfSchwer.setBounds(new Rectangle(446, 212, 78, 28));
		}
		return tfSchwer;
	}

	/**
	 * This method initializes tfSuchen	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfSuchen() {
		if (tfSuchen == null) {
			tfSuchen = new JTextField();
			tfSuchen.setBounds(new Rectangle(28, 286, 316, 26));
		}
		return tfSuchen;
	}

	/**
	 * This method initializes btAnzeigen	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtAnzeigen() {                  // Button als Probe der Methode
		if (btAnzeigen == null) {
			btAnzeigen = new JButton();
			btAnzeigen.setBounds(new Rectangle(411, 278, 92, 44));
			btAnzeigen.setText("Anzeigen");
			btAnzeigen.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					
					// TODO Auto-generated Event stub actionPerformed()
					
					boolean mSchalter = true;
					
					einSuchen = new Suchen();
					einSuchen.setAlleSkigebiete(tfSuchen.getText());
					einSuchen.skisuchen();
					
					mSchalter = einSuchen.skizuweisen();
					
					if(mSchalter)
					{
						anzeigen();
					}
				}
			});
		}
		return btAnzeigen;
	}
	
	public void anzeigen()
	{
		
		try
		{
			this.tfSchlepper.setText(einSuchen.getSchlepper());
			this.tfSeßel.setText(einSuchen.getSeßel());
			this.tfGondel.setText(einSuchen.getGondel());
			this.tfKabine.setText(einSuchen.getKabine());
			this.tfSaisonvon.setText(einSuchen.getSaisonvon());
			this.tfSaisonbis.setText(einSuchen.getSaisonbis());
			this.tfBetriebvon.setText(einSuchen.getBetriebvon());
			this.tfBetriebbis.setText(einSuchen.getBetriebbis());
			this.tfLeicht.setText(einSuchen.getLeicht());
			this.tfMittel.setText(einSuchen.getMittel());
			this.tfSchwer.setText(einSuchen.getSchwer());
					
		}
		
		catch(Exception e)
		{
			System.out.println("Anzeigen fehlgeschlagen!");
		}
	}

	/**
	 * This method initializes tfSaisonvon	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfSaisonvon() {
		if (tfSaisonvon == null) {
			tfSaisonvon = new JTextField();
			tfSaisonvon.setBounds(new Rectangle(114, 63, 92, 25));
		}
		return tfSaisonvon;
	}

	/**
	 * This method initializes tfSaisonbis	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfSaisonbis() {
		if (tfSaisonbis == null) {
			tfSaisonbis = new JTextField();
			tfSaisonbis.setBounds(new Rectangle(227, 63, 100, 26));
		}
		return tfSaisonbis;
	}

	/**
	 * This method initializes tfBetriebvon	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfBetriebvon() {
		if (tfBetriebvon == null) {
			tfBetriebvon = new JTextField();
			tfBetriebvon.setBounds(new Rectangle(115, 98, 89, 26));
		}
		return tfBetriebvon;
	}

	/**
	 * This method initializes tfBetriebbis	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfBetriebbis() {
		if (tfBetriebbis == null) {
			tfBetriebbis = new JTextField();
			tfBetriebbis.setBounds(new Rectangle(228, 99, 97, 25));
		}
		return tfBetriebbis;
	}

	/**
	 * This method initializes taPreise	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextArea getTaPreise() {
		if (taPreise == null) {
			taPreise = new JTextArea();
			taPreise.setBounds(new Rectangle(27, 153, 566, 174));
		}
		return taPreise;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

	/**
	 * @param owner
	 */
	public Infofenster(Frame owner) {
		super(owner);
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setLocation(325, 150);
		this.setResizable(false);
		this.setSize(638, 432);
		this.setContentPane(getJContentPane());
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJTabbedPane(), null);
		}
		return jContentPane;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"


Die Fehlermeldung lautet:

Java:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at paket1.Suchfenster$1.keyPressed(Suchfenster.java:74)
	at java.awt.Component.processKeyEvent(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Ich programmier mit Eclipse. Viele Befehle erscheinen automatisch. Ich bin für jede Hilfe dankbar!

mfg
merTii
 

Volvagia

Top Contributor
So wie ich das sehe, müsste es so aussehen:

[java=74]
einSuch = new Suchen();
einSuch.anzeigen();
[/code]

Du solltest dich aber vielleicht mit besseren Variablenamen und Arrays auseinandersetzen. Könnte Infofenster echt verschönern und eventuell auch verkürzen.
 

ARadauer

Top Contributor
Top Leistung deines Lehrers!! Euch auf GUI Anwendung hin zu lassen ohne dass sie euch begebracht zu haben was die Null Referenz ist, dass man Objekte instanzieren muss und was eine NullPointerException bedeutet... nett :-(

Soll keine Kritik an dir sein, das Thema ist halt komplex da muss man im Unterischt schon strukturiert vorgehen....
 
F

Firephoenix

Gast
Auf jeden Fall nicht Exceptions catchen. Die versuchen dir was mitzuteilen, ich verstehe nicht warum das alle Newbits immer versuchen.

Hi,
den Satz würde ich aber nicht zu 100% unterschreiben ;)
Catchen an sich ist erstmal nichts schlimmes (bei wiederverwertbaren funktionen - insbesondere logikfunktionen - bietet sich aber meist das weiterwerfen an).
Allerdings ist das mindeste im Catch-Block ein e.printStackTrace();
Noch besser sogar bei Gui-Anwendungen eine direkte Ausgabe an den User was schief gelaufen ist oder ein "please contact your developer" :D
Eher als Anfänger-Fehler würde ich solche Konstrukte werten (ich denke das meintest du oder?):
Java:
try{
//irgendwas
}catch(Exception e){
//Nichts machen, einfach alle Exceptions fressen :D
}
 

merTii

Mitglied
So wie ich das sehe, müsste es so aussehen:

einSuch = new Suchen();
einSuch.anzeigen();


Du solltest dich aber vielleicht mit besseren Variablenamen und Arrays auseinandersetzen. Könnte Infofenster echt verschönern und eventuell auch verkürzen.

Die Klasse "Suchen" ist eine andere Klasse...ich habe tatsächliche dumme Namen ausgesucht^^

Die Methode "anzeigen()" ist in der Klasse Infofenster.

mfg
merTii
 

Volvagia

Top Contributor
Stimmt, hab mich verguckt. Müsste natürlich so aussehen.

Java:
einSuch = new Infofenster();
einSuch.anzeigen();

Auf jeden Fall muss die Variable einSuch auf irgend ein Objekt verweißen, sonst kannst du anzeigen natürlich nicht aufrufen.

Ich glaube, hier würde ein angepinnter Thread über NPE echt gut hinpassen.
 

merTii

Mitglied
Da meine beiden Fenster jeweils JDialogs sind, muss ich in die Klammer was reinschreiben:

Java:
einSuch = new Infofenster(? z.b. frame?);
	einSuch.anzeigen();
 

Volvagia

Top Contributor
Nicht umbedingt. Der Konstruktor vom Infofenster, und der Konstruktor von JDialog haben nichts gemeinsam. (Abgesehen von dem, was alle Konstruktor gemeinsam haben) Den Konstruktor vom Infofenster hast du geschrieben, du könntest die Parameter darin auch einfach leer lassen.

Java:
public Infofenster()
{
        super();
        initialize();
}
 

ARadauer

Top Contributor
Ich hab es grade ausprobiert und trotzdem kommt der Fehler "Anzeigen fehlgeschlagen".
ja das gibst du ja selber aus!

du musst statt
Java:
   catch(Exception e)
        {
            System.out.println("Anzeigen fehlgeschlagen!");
        }
das schreiben
Java:
catch(Exception e)
    {
       e.printStackTrace();
        System.out.println("Anzeigen fehlgeschlagen!");
    }
damit du weißt wo und warum der fehler, das was da ausgegeben wird postest du dann nochmal...
 

merTii

Mitglied
Also die Fehlermeldung lautet:

Java:
java.lang.NullPointerException
	at paket1.Infofenster.anzeigen(Infofenster.java:312)
	at paket1.Suchfenster$1.keyPressed(Suchfenster.java:73)
	at java.awt.Component.processKeyEvent(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)Anzeigen fehlgeschlagen!

	at java.awt.EventDispatchThread.run(Unknown Source)

ich bin dir für deine Mühe und Hilfe echt dankbar!
 

Volvagia

Top Contributor
[java=312]
this.tfSchlepper.setText(einSuchen.getSchlepper());
[/code]

Schreib vor diese Zeile mal

Java:
System.out.println(tfSchlepper + " - " + einSuchen);
Runtime.getRuntime.exit(0);
 

ARadauer

Top Contributor
hilft es wenn du statt tfSchlepper in Zeile 312 getTfSchlepper() schreibst?

also

this.getTfSchlepper().setText(einSuchen.getSchlepper());
...


bzw warum setzt du dir nicht einfach einen breakpoint mit dem debugger und schaust was null ist, oder habt ihr das nocht nicht gelernt?
 

merTii

Mitglied
Es kommt eine ewig lange Fehlermeldung:

Java:
javax.swing.JTextField[,125,59,28x26,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@19ee1ac,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING] - null
 

merTii

Mitglied
hilft es wenn du statt tfSchlepper in Zeile 312 getTfSchlepper() schreibst?

also

this.getTfSchlepper().setText(einSuchen.getSchlepper());
...


bzw warum setzt du dir nicht einfach einen breakpoint mit dem debugger und schaust was null ist, oder habt ihr das nocht nicht gelernt?

mit "getTfSchlepper()" ändert sich nichts.

breakpoint? tut mir leid, das haben wir nicht gelernt...
 
F

Fischkopp

Gast
Moin,

na ja, das erste sind die Informationen Deines Textfeldes und einSuchen ist halt NULL. Die Frage ist, wo wird denn bei der Infoklasse der Variablen einSuchen ein Wert zugewiesen?

Grüße
 

Volvagia

Top Contributor
Das ist keine Fehlermeldung.

Ich versuche es dir noch einmal zu erklären.

Du definierst eine Klassenvariable:

Java:
private Suchen einSuchen;

Objektvariablen in der Klasse sind automatisch null:

Java:
private Suchen einSuchen = null;

Wenn du jetzt eine Methode aufrufen willst, aber die Variable null ist, sagt die Runtime.

:autsch: (Das ist sie seit Oracle) > He, die Variable zeigt doch auf kein Objekt. Wo kein Objekt ist kann nichts aufgerufen werden.

Und throwt die Exception.

Um das zu verhindern, musst du in einSuchen etwas hineinschreiben.

Java:
einSuchen = new Suchen();

Und schon kann von Suchen eine Methode aufgerufen werden.


Ich hoffe, du hast es jetzt verstanden.
Vergiss nicht, das exit wieder zu entfernen. Wollte nur nicht, dass die Exception die Sicht vernebelt, Konsolenausgaben sind unsynchron. Da kann alles durcheinander drinnen stehen.
 

merTii

Mitglied
Ich habe es soweit Verstanden, dass die Variable automatisch "null" ist.

Ich habe es jetzt mit:

Java:
private Infofenster einSuch = new Infofenster();

deklariert...und sie dann hier eingesetzt:


Java:
if(mSchalter)
						{	
							JFrame frame = new JFrame();
							Infofenster inst = new Infofenster();
							
							einSuch = new Infoffenster();
							einSuch.anzeigen();
							
							inst.setVisible(true);
							
							
							Suchfenster.this.dispose();
							
						}

das schöne ist, dass es keine Fehlermeldung wie "Anzeigen fehlgeschlagen" bringt, trotzdem erscheinen die Infos nicht...hab die Methode bestimmt falsch gesetzt.
 

Volvagia

Top Contributor
Wir können dir dabei leider nur bedingt helfen, weil wir die riesigen Klassen komplett zerlegen müssten. :noe:
Mit
Java:
new Infofenster();
Erzeugst du ein komplett neues Fenster, du wirst aber vielleicht ein anderes weiterverwenden wollen, oder?

Du darfst natürlich auch nicht vergessen, noch die Größe zu setzen bzw. pack, und setVisible aufzurufen.
 
F

Fischkopp

Gast
Moin,

einen Tipp gebe ich Dir dabei noch mit... Du erzeugst das Fenster bisher mit
Code:
Infofenster inst = new Infofenster();
(um ehrlich zu sein, erzeugst Du sogar zwei Infofenster, wobei Du nur eines brauchst) und rufst dabei Deinen eigenen Konstruktor der Klasse Infofenster auf. Diesen kannst Du soweit ergänzen, dass Du Ihm auch Parameter übergeben kannst. Mit
Code:
Infofenster inst = new Infofenster(this);
kannst Du ihm z.B. die aktuelle Instanz der Suchklasse als Parameter übergeben. Dafür musst Du nur einen Konstruktor erzeugen, der auch einen Parameter der Suchklasse erwartet. Dort kannst Du dann den Parameter der Variablen einSuchen zuweisen und in der anzeigen()-Methode damit arbeiten... sofern die ganzen getter-Methoden, die Du da aufrufst, auch in der Suchklasse existieren.

Grüße
 

merTii

Mitglied
Wir können dir dabei leider nur bedingt helfen, weil wir die riesigen Klassen komplett zerlegen müssten.
Mit
Java Code: Quelltext in neuem Fenster öffnen

new Infofenster();

Erzeugst du ein komplett neues Fenster, du wirst aber vielleicht ein anderes weiterverwenden wollen, oder?

Genau, ich will ein anderes weiterverwenden...wie kann ich das dann aufrufen??





Ich habe die Zeilen für das öffnen eines weiteren Fensters mal in einem anderen Forum aufgeschnappt:

Java:
JFrame frame = new JFrame();
Fenster1 inst = new Fenster1();
inst.setVisible(true);
AnderesFenster.this.dispose();

das ist jetzt nur mal ein Beispiel...ist das vllt falsch bzw. blöd, wenn ich das so mache?
 

Volvagia

Top Contributor
Dann musst du die alte Fensterinstanz übergeben (teilweiße so wie Fischkopp gesagt hat), und in einSuch schreiben. Dafür eben nicht ein neues mit new reinschreiben.

Nein, ein Fenster wird so geöffnet. Nur du brauchst kein JFrame, und dann noch eine Klasse, die von offenbar von JFrame erbt. Eine reicht.
 

merTii

Mitglied
Also ich habe "einSuchen" jetzt so deklariert, wie ich es zuerst dachte:

Java:
private Infofenster einSuch = new Infofenster();

In dem Infofenster ist eben meine Methode "anzeigen()", die ich über "einSuch" aufrufe. Soweit ist das richtig?


Dann muss ich ja was schreiben, damit mein Infofenster dann auch erscheint. Das sieht bei mir wie folgt aus:

Java:
Infofenster inst = new Infofenster();

Und dann muss ich eben die Methode aufrufen:

Java:
if(mSchalter)
{	
Infofenster inst = new Infofenster();
einSuch.anzeigen();

inst.setVisible(true);
Suchfenster.this.dispose();
}

Tut mir leid, ich bin ein Anfänger und weiß echt nicht, wie ich es umändern muss...
 

merTii

Mitglied
Heeeeey ich glaub ich weiß wo mein Fehler ist, nur weiß ich nicht wie ich diesen beheben kann...

also meine Methode anzeigen() die lautet ja so:
Java:
public void anzeigen()
	{
		
		try
		{
			this.tfSchlepper.setText(einInfo.getSchlepper());
			this.tfSeßel.setText(einInfo.getSeßel());
                }
		
		catch(Exception e)
		{
			e.printStackTrace();

			System.out.println("Anzeigen fehlgeschlagen!");
			
		}
	}

Diese Methode ist ja in der Klasse "Infofenster"...ich muss ja "einInfo" in der Klasse etwas zuweisen. Das sah bei mir so aus:

Java:
einInfo = new Suchen();
einInfo.setAlleSkigebiete(tfSuchenimInfofenster.getText());
einInfo.skisuchen();
einInfo.skizuweisen();

Folglich heißt es, dass ich in meiner Methode "anzeigen()" über die Variable "einInfo" die Informationen, die ich ! ABER aus dem Textfeld in dem Infofenster hole !, übergebe und dann zuweise.

Wenn ich aber diese Methode jetzt in einer anderen Klasse aufrufen will, also in "Suchfenster", dann kann die Methode ja nichts ausgeben, weil ich ja was in das Textfeld im Infofenster eintippen muss damit es erst zuweisen kann.


Habt ihr es verstanden?...ich müsste ja die Methode so programmieren, dass sie das Eingetippte nicht vom Infonfester, sondern ausm Suchfenster nimmt?!
 
F

Fischkopp

Gast
Moin,

ich gebe zu, ich habe manchmal schon Probleme, Deinen Gedanken zu folgen :) Ich habe das Gefühl, Du probierst da immer "irgendwie irgendwas". Ist nicht böse gemeint. Du hast zwei Klassen... also skizziere doch am besten kurz auf einem Blatt die Klassen Suchen und Infofenster und schau welche Klasse dann welche Felder hat und wer wen aufrufen muss und welche Klasse etwas von der anderen erfahren muss. Die muss dann entsprechend eine Variable mit der Instanz der anderen Klasse haben, damit sie über diese auf die andere Klasse zugreifen kann.
Von Deinem bisher gezeigten Code würde ich ungefähr davon ausgehen, dass die Infofenster-Klasse mit
Code:
new suchen()
eine NEUE Instanz der Suchen-Klasse bekommt wo Du dann mit
Code:
new Infofenster()
eine WEITERE Instanz der Infofenster-Klasse machst. Diese kann dann aber nicht auf die Daten der ersten Instanz zugreifen (um mal sinnbildlich zu sprechen: wenn Deine Klassen "Huhn" und "Ei" heissen, dann machst Du mit
Code:
new Huhn()
ein neues Tier und lässt es ein Ei legen. Um das Ei an die Henne zu binden, lässt Du nun im Code vom Ei mit
Code:
new Huhn()
ein weiteres Tier generieren, statt beim Aufruf vom Ei das aktuelle Huhn mit zu übergeben - sorry, ein besseres Beispiel viel mir gerade nicht ein, aber der Grundgedanke sollte rübergekommen sein). Derzeit hast Du in der Suchen-Klasse eine Instanz einSuch der Infofenster-Klasse gebildet und dann noch eine zweite Instanz namens inst. Dann versuchst Du die anzeigen()-Methode der ersten aufzurufen und die zweite Instanz anzuzeigen. Deshalb skizzier Dir bitte mal Deine Klassen und überleg Dir die Reihenfolge.
Eine Klasse wird zuerst generiert und die macht dann die zweite Klasse auf und übergibt sich mit this selbst an die Instanz der zweiten Klasse, damit diese Daten übergeben kann (ich denke, es gibt noch andere Möglichkeiten, aber das wäre jetzt hier der simpelste Weg). Die Masterfrage ist also welcher Dialog ruft was auf und wer braucht welche Daten von wem?

Grüße
 

merTii

Mitglied
Okay das mit dem Huhn und dem Ei hab ich kapiert :)...und das dass mit dem "inst" quatsch ist, hab ich auch kapiert. Das kommt davon, wenn man es einfach vorgekaut bekommt, ohne dass es der Lehrer einem beibringt.

Ich hoff, dass ich es jetzt verstanden hab. Ich habe es jetzt so deklariert: ( Im Suchfenster )

Java:
 if(mSchalter)
					{	
						Infofenster einSuch = new Infofenster();
						einSuch.anzeigen();
						Startseite1.this.dispose();
					}





Ich glaube eben nur, dass meine Methode falsch ist...sie lautet so: ( Im Infofenster )

Java:
public void anzeigen()
	{
		
		try
		{
			this.tfSchlepper.setText(einInfo.getSchlepper());
			
                        this.tfSeßel.setText(einInfo.getSeßel());
                        
                        this.taAusgabe.append("Diese Ausgabe wird angezeigt!");
                 }
		
		catch(Exception e)
		{
			

			System.out.println("Anzeigen fehlgeschlagen!");
			
		}
	}

Wie gesagt, erscheint die "taAusgabe"...jedoch die Sachen in den Textfeldern nicht, d.h. ich muss "einInfo" so deklarieren, dass ich im "einInfo" das Eingetippte aus dem Suchfenster erhalte.

Zur Veranschaulichung:

einInfo = das was ich im Suchfenster in das Textfelt "tfSuchfeld" eingebe.



Ich Suchfenster hab ich ein Button, dass wie folgt aussieht:

Java:
boolean mSchalter = true;
					
					Suchen einStart = new Suchen();
					einStart.setAlleSkigebiete(tfSucheimSuchfenster.getText());
					einStart.skisuchen();
					
					mSchalter = einStart.skizuweisen();
					
					
					if(mSchalter)
					{	
						Infofenster einSuch = new Infofenster();
						einSuch.anzeigen();
						
						einSuch.setVisible(true);
						Suchfenster.this.dispose();
					}
				}

Ich hab insgesamt 3 Klassen, die miteinander spielen:

Suchen .....................................|...........Suchfenster..........................| Infofenster

.getter/setter.............................| über "einStart" wird zugeordnet............|hat Methode anzeigen()
.die Zuweisung mit SQL-Befehlen....|.......................................................|über "einInfo"
 
F

Fischkopp

Gast
Moin,

okay, schon mal einen Schritt weiter. Dass im Infofenster noch keine Ausgabe kommt, liegt ja daran, dass die Variable einInfo nichts zugewiesen bekommt. Jetzt stellt sich mir die Frage wie das bei Dir ablaufen soll? Soll das Infofenster denn den Suchstring aus dem Suchfenster übermittelt bekommen und die Daten über die Such-Klasse abfragen? Du kannst natürlich beim Aufrufen der anzeigen() Methode den Inhalt des Such-Textfeldes mit übergeben und musst dann nur die Methode so schreiben, dass ein String mit übergeben wird, also
Code:
public void anzeigen(String suche)

Und ansonsten schau halt nach, was genau nun "einInfo" ist (Suchen oder Suchfenster?) und schau nach, dass Du dieser Variablen einen Wert zuweist, aber eben bitte nicht einfach mit
Code:
einInfo = new Suchen
, wenn Du eigentlich auf eine bestehende Instanz zurückgreifen möchtest. Dann würde ich eben z.B. einen Konstruktor bauen, der eine Instanz der Klasse als Parameter übergeben bekommt:
Java:
public Infofenster(Suchen such)
{
  einInfo = such;
  //weiterer Code im Konstruktor
}

Aber das wäre jetzt ja immer noch die Frage. Welche Klasse wird von der Main aufgerufen und ruft dann welche andere Klasse auf? Hast Du Dir das mal skizziert? Wer muss als erstes auf Suchen zugreifen? Wenn das vom Infofenster aus ist, dann kannst Du dort der Variablen eine neue Instanz zuordnen, sonst solltest Du sie wie oben übergeben.

Grüße
 

merTii

Mitglied
Also nach langem probieren und hin und her, habe ich durch Hilfe eines Schulkamaraden mein Problem gelöst.

Ich hab ein statisches Objekt in der Klasse mit meinen gettern und settern. Diesem statischen Objekt hab ich dann die Infos aus der Datenbank übergeben.

In dem Infofenster habe ich dann meine Methode angepasst und jetzt funktioniert alles!

Bei Anfragen kann ich auch Quellcodes veröffentlichen.

Ich bin euch für eure Bemühungen und Hilfen sehr dankbar!

mfg
merTii
 

Ähnliche Java Themen

Neue Themen


Oben