Suche - Ausgabefunktion

merTii

Mitglied
Moin an alle,

erst mal wünsch ich euch einen wunderschönen Tag...was für ein Wetter!

Doch ich hab folgendes Problem:

Ich hab ein Startfenster, bei der ich einen Textfeld habe und in der ich ein Skigebiet eingebe, welches in meiner Datenbank ist. Wenn die Eingabe richtig war und dieses Skigebiet vorhanden ist, erscheint ein neues Fenster ( heißt: Suchfenster) mit jeweiligen Informationen, wie z.B. Preise, Öffnungszeiten, etc.

Also die "Suche" funktioniert, nur will ich, dass die Informationen dann automatisch in den vorhandenen Felder zu sehen sind.

Ich habe in dem Suchfenster nur mal als Probe ein Textfeld und ein Button programmiert, in der ich ein Skigebiet eingeben kann und bei betätigen des Buttons erscheinen auch die Informationen ( die Methode heißt anzeigen() ).

Jetzt will ich aber, dass die Informationen bereits vorhanden sind, wenn ich in dem ersten Fenster (Startfenster) ein Skigebiet eingebe.
Ich dachte, dass ich die Methode "anzeigen()" in dem ersten Fenster aufrufe...funktioniert i.wie nicht...

Könnt ihr mir helfen?...Hier meine Codes:

Erstes Fenster ( Startfenster)
Code:
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;

public class Startseite1 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;
	
	/**
	 * 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)
						{	
							//Suchfenster1 einSuchen = new Suchfenster1(null);
							//einSuchen.anzeigen();  <-- Wohin damit?
							
							JFrame frame = new JFrame();
							Suchfenster1 inst = new Suchfenster1(frame);
							inst.setVisible(true);
							Startseite1.this.dispose();
						}
					}
				}
			});
			
		}
		return tfSuche;
	}

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

	}

	/**
	 * @param owner
	 */
	public Startseite1(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/Efe/Documents/Mert/GFS/Bilder/Schließen.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, 663, 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);
					Startseite1.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);
					Startseite1.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);
					Startseite1.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"

Hier das zu erscheinene Fenster (Suchfenster)
Code:
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 Suchfenster1 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 JTextField tfSaisonvon = null;
	private JTextField tfSaisonbis = null;
	private JTextField tfBetriebvon = null;
	private JTextField tfBetriebbis = 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);
		}
		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() {
		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;
	}

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

	}

	/**
	 * @param owner
	 */
	public Suchfenster1(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"

mfg
merTii
 
Hallo merTii,

also erstens müsste anzeigen zwischen Z. 69 und 70 stehen, also

Code:
inst.anzeigen();

Ich glaube aber dass das Problem beim KeyListener liegt, warum auch immer hatte ich schon öfter probleme damit, gerade bei VK_ENTER.
Du solltest besser einen ActionListener beim JTextField registrieren, Textfelder feuern nämlich ActionsEvents ab wenn sie den Fokus haben und Enter gedrückt wird.

Ich hoffe ich konnte dir helfen,

javaDeveloper2011
 
also da hast du dir jetzt aber einen Konzeptionsfehler in den Kopf gesetzt

es würde ja nicht SUCHE heißen wenn die informationen VOR dem Suchen schon vorhanden wären ... sondern eben damit BEIM suchen danach gesucht und bei Fund das Ergebnis zurückgegeben wird ... im Fehlerfall eine Exception

wenn du es jetzt also schon geschafft hast das die Daten erfolgreich gefunden werden musst du in der klasse deines zweiten Fensters *was ich übrigens ERGENISSE nennen würde ... nicht SUCHE* eine Methode definieren der du einfach das Ergeniss übergibst ... diese setzt dann die internen Variablen auf diese Werte ... erzeugt die GUI und zeigt sie letzlich an ...

oder WO GENAU war jetzt dein Lösungsansatz
 

Neue Beiträge

Zurück