pfad übergeben von einer classe zu anderen.

Status
Nicht offen für weitere Antworten.

raffnix

Bekanntes Mitglied
Hallo!
Ich lese den Pfad mit JFileChooser in der classe 1 aus.
über einen ActionListener wird die 2te CLasse(neue GUI) gestartet.
nun möchte ich gerne den ausgeledsenen pfad in der 2ten Classe für eine JList verwenden.
Mein Problem . Wie Komme ich nun an den vorher ausgelesen Pfad????

Die Erste Classe:
Code:
.....
.......
        public String path;
	JButton search;
	JButton ok;
....
...
	 public void actionPerformed(ActionEvent ereignis)
			 {
			 	if (ereignis.getSource()==search){
			 		int returnVal = chooser.showOpenDialog(Ordnerauswahl.this);
			 		if (returnVal == JFileChooser.APPROVE_OPTION) {
			 			datei = chooser.getSelectedFile();
			 			pfadEingabe.setText(datei.getPath());
			 			
			 			
						}
			 		
			 	}else if(ereignis.getSource()==cancel)
			 	       {
			 		    System.exit(0);
			 	       }
			 	else if ( ereignis.getSource()== ok)
			 	      {
			 		   lieferpfad();
			 		   javax.swing.SwingUtilities.invokeLater(new Runnable() 
			 	       		{
			 	             public void run() 
			 	                   {
			 	              	    BasicGui neuFenster = new BasicGui();
				 		                     neuFenster.machmeinegui();
			 	                   }
			 	       		});			 		  
			 		    setVisible(false);
   			 	       }
			}
				
			 public String lieferpfad(){
			 	
			 	path = pfadEingabe.getText();
				System.out.print(pfadEingabe.getText());
			 
				return path;
	 		}

Die main steht in einer anderen Classe . sie ruft nur die erste Classe auf.

Die 2te Classe poste ich mal nicht .. falls daarus was benötigt wird kann ich es jedoch tun.
Ich habe schon versucht den Pfad in einer txt zu speichern und dann später wieder auszulesen. das muss doch auch anders gehen.
 

Sky

Top Contributor
a) Die Neue GUI braucht eine Referenz auf die erste GUI. In der ersten GUI definierst Du eine Methode, die Dir den Pfad liefert.

ODER

b) Der Konstruktor der neuen GUI (scheinbar BasicGui!?) wird um den Parameter Pfad erweitert.
 

mic_checker

Top Contributor
Da hast du verschiedene Möglichkeiten, je nachdem kannst du dem Konstruktor der zweiten Klasse den String übergeben oder du machst das ganze per set Methode, also eine set Methode mit entsprechender Variable in der zweiten Klasse und dann in der ersten Aufrufen mit dem Pfad.

Hoffe du weisst was ich meine, ansonsten posten.

edit:
zweiter
 

raffnix

Bekanntes Mitglied
zua:
Ich hab doch eine Methode die den Pfad liefert. lieferpfad()
ähm Referenz?????
wie ? was?

zu b:
wenn ich in BasicGui() den Parameter (String path) eintrage, sagt Eclipse mir!! Syntax error on Token Path!!
??
 

raffnix

Bekanntes Mitglied
Ok hier ist er..
Code:
public class BasicGui extends JPanel 
{   
	
	
	String path;
	String bildString = "Bild: ";
	String dAuswahl = "Datei: ";
	String xmlAnsicht = "XML Daten";
	Image bilddatei;
	
	JLabel bildAnsicht = new JLabel(bildString);
	JLabel xmlTree = new JLabel(xmlAnsicht);
	
	JFileChooser dateiDialog = new JFileChooser();
	JTree dateiBaum = new JTree();
	JList dateiListe; 
	
	

	
	public BasicGui(String path)
	{
		super(new BorderLayout());
		Ordnerauswahl zeigmal = new Ordnerauswahl();
		path = zeigmal.lieferpfad();
		dateiListe = new JList(getFiles("c:/") );
		
		JPanel bildLabel = new JPanel(new GridLayout(0,1));
	           bildLabel.add(bildAnsicht);	
	    JPanel xmlLabel = new JPanel (new GridLayout(0,1));   
	           xmlLabel.add(xmlTree);
	    JPanel ordnerLabel = new JPanel (new BorderLayout(0,1));
	           ordnerLabel.add(dateiListe);
	    
	    
	    setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
	              add(bildLabel,BorderLayout.CENTER);
	              add(ordnerLabel,BorderLayout.SOUTH);
	              add(xmlLabel,BorderLayout.EAST);
	               
	  }
	
	private File[] getFiles( String filename )
	  {
	    File path    = new File( filename );
	    File files[] = path.listFiles();

	    return files;
	  }

	
	

	public  void machmeinegui()//war Static
	{   
		JFrame.setDefaultLookAndFeelDecorated(true);
		JFrame fenster = new JFrame("HandBlablka ");
		fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JComponent neuekomponente = new BasicGui(String path);
		neuekomponente.setOpaque(true);
		
		fenster.setSize(800,600);
        fenster.setContentPane(neuekomponente);
        //fenster.pack();
        fenster.setVisible(true);
        
	}

Habe den parameter eingetragen.
 

mic_checker

Top Contributor
Logisch, du rufst oben den konstruktor parameterlos auf (new BasicGUI()), aber in BasicGUI hast du einen Konstruktor der einen String erwartet, also oben entsprechend anpassen.
 

raffnix

Bekanntes Mitglied
du meinst in meiner ersten Classe???

Hab ich eingetragen gespeichert.
Code:
else if ( ereignis.getSource()== ok)
			 	      {
			 		   lieferpfad();
			 		   javax.swing.SwingUtilities.invokeLater(new Runnable() 
			 	       		{
			 	             public void run() 
			 	                   {
			 	              	    BasicGui neuFenster = new BasicGui(String path);
				 		                     neuFenster.machmeinegui();
			 	                   }
			 	       		});			 		  
			 		    setVisible(false);
   			 	       }
			}

hier kommt die gleiche meldung ( Syntax error...)
und in BasicGui bleibt es so wie es ist ( auch der Fehler)
 

Sky

Top Contributor
Versuchs mal so:
Code:
BasicGui neuFenster = new BasicGui( lieferpfad() );

<Edit>btw: warum erstellst Du in der macheingui-Methode noch eine weitere BasicGui?</Edit>
 
G

Guest

Gast
Code:
else if ( ereignis.getSource()== ok)
                   {
                   lieferpfad();
                   javax.swing.SwingUtilities.invokeLater(new Runnable()
                          {
                          public void run()
                                {
                                  BasicGui neuFenster = new BasicGui(String path); // müsste hier nicht nur path stehen ohne "String"
                                        neuFenster.machmeinegui();
                                }
                          });                 
                    setVisible(false);
                       }
         }
 

Sky

Top Contributor
Anonymous hat gesagt.:
Code:
BasicGui neuFenster = new BasicGui(String path); // müsste hier nicht nur path stehen ohne "String"
Nein, weil path in der Klasse nicht definiert ist. Richtige Lösung: siehe mein Post weiter oben.
 
G

Guest

Gast
hmm
das raff ich nicht, wieso nicht definiert?

da steht doch oben in der klasse
public String path;
und weiter unten wird doch auch ein wert zugewiesen?
 

Sky

Top Contributor
Anonymous hat gesagt.:
hmm
das raff ich nicht, wieso nicht definiert?

da steht doch oben in der klasse
public String path;
und weiter unten wird doch auch ein wert zugewiesen?
Sorry, übersehen... weil es doppelt gemoppelt ist. die Methode lieferpfad gibt den String zurück und setzt ihn in path... eines von beiden würde reichen!
 

raffnix

Bekanntes Mitglied
Erstmal Danke für die Antworten.
Also ich werde es mal versuchen mit new BasicGui(lieferpfad();
warum erstellst Du in der macheingui-Methode noch eine weitere BasicGui?

Hmm die JComponent fordert eine Classe.. glaub ich..
 

raffnix

Bekanntes Mitglied
Juhu so klappt es.
zumindest ist so die Variable path nun verfügbar.
allerdibgs musste ich ein problem feststellen.
da ich den Pfad in dieser form geliefert bekomme:

C:\Dokumente und Einstellungen\User\Eigene Dateien

klappt das mit der JList nicht. hier müsstren die trennstriche andersrum sein also: "/ " statt " \"
gibt es etwas das JList auch den Pfad mit Backslash darstellt??
ich möchte den String ungern bearbeiten da ja so meine Plattformunabhängigkeit verloren geht..
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Dotenv relativer vs absoluter Pfad Java Basics - Anfänger-Themen 2
J Pfad zerlegen Java Basics - Anfänger-Themen 2
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
S Längster Pfad zwischen zwei Vertices in einem Graph Java Basics - Anfänger-Themen 3
C Pfad zu Properties-File bei ResourceBundle Java Basics - Anfänger-Themen 7
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
P Möglichen Pfad überprüfen Java Basics - Anfänger-Themen 5
M Java GUI explorer aufrufen um Pfad zu bekommen Java Basics - Anfänger-Themen 3
R FXMLLoader Pfad falsch`? Java Basics - Anfänger-Themen 4
S Alternativer Pfad Java Basics - Anfänger-Themen 5
R speicherort Mac pfad angeben Java Basics - Anfänger-Themen 3
L Breadth-First Search statt einem Pfad, alle Pfade herausfinden Java Basics - Anfänger-Themen 4
O Best Practice Datei-Pfad zerlegen Java Basics - Anfänger-Themen 4
topi relativer Pfad in einem Runnable JAR file Java Basics - Anfänger-Themen 12
H pfad finden Java Basics - Anfänger-Themen 12
H Pfad Program Files\Common Files\Oracle\Java\javapath Java Basics - Anfänger-Themen 3
L Pfad zum Jar Java Basics - Anfänger-Themen 7
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
J Leerzeichen im Pfad automatisch erkennen Java Basics - Anfänger-Themen 30
B Log4J Pfad des Logfiles definieren Java Basics - Anfänger-Themen 6
D Umgebungsvariable Pfad javaw.exe für Programmstart auf Windows Java Basics - Anfänger-Themen 1
D Pfad Java Basics - Anfänger-Themen 15
H nio Pfad aus Dateinamen extrahieren Java Basics - Anfänger-Themen 4
R Pfad angeben Java Basics - Anfänger-Themen 7
S Pfad für Dateisystem?? Java Basics - Anfänger-Themen 13
P JSON-Konfigurationsdatei verwenden: Probleme mit Pfad Java Basics - Anfänger-Themen 1
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
M Pfad zu einer Datei in einer exportierten Jar-Datei Java Basics - Anfänger-Themen 5
S ungültiger Pfad bei der Installation von API documentation Java Basics - Anfänger-Themen 0
N .propertiesdatei über Relativen Pfad einlesen lassen Java Basics - Anfänger-Themen 5
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
I Bei Umlauten und Leerzeichen im Pfad, wird Datei nicht gefunden Java Basics - Anfänger-Themen 5
O JFileChooser Verhalten -Pfad Java Basics - Anfänger-Themen 15
V java Pfad javac Java Basics - Anfänger-Themen 8
D Ein Icon ohne Pfad sondern mit Package. Java Basics - Anfänger-Themen 4
P Leerzeichen in Pfad... Java Basics - Anfänger-Themen 17
P Datei auf Pfad speichern Java Basics - Anfänger-Themen 7
B Relativer Pfad zwischen zwei Files Java Basics - Anfänger-Themen 2
H Programm zur Ausgabe von Datei und Pfad Java Basics - Anfänger-Themen 7
C Pfad für Bilder angeben Java Basics - Anfänger-Themen 11
L Pfad "zuschneiden" Java Basics - Anfänger-Themen 3
B In welchem (Default) Pfad erstellt Java Dateien? Java Basics - Anfänger-Themen 4
V relativer Pfad geht nicht, absolut schon? Java Basics - Anfänger-Themen 3
J Input/Output Datei auslesen, Pfad eingeben Java Basics - Anfänger-Themen 4
S PATH und Pfad auslesen.... Java Basics - Anfänger-Themen 3
X JDK installieren Pfad wird nicht gefunden Java Basics - Anfänger-Themen 5
B Classpath cmd java mit absolutem Pfad Java Basics - Anfänger-Themen 15
B eingene Klasse in eigenem Prozess starten mit relativem Pfad Java Basics - Anfänger-Themen 5
J FileOutputStream aktuelle Speicher Pfad ausgeben Java Basics - Anfänger-Themen 13
T Erkennen ob ein Pfad lokal oder im Netzwerk ist Java Basics - Anfänger-Themen 13
F Zugriff auf Pfad des gerade ausgeführten Programms? Java Basics - Anfänger-Themen 14
S Pfad auslesen Java Basics - Anfänger-Themen 3
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
Helgon Pfad richtig angeben Java Basics - Anfänger-Themen 7
E Input/Output Relativer Bild-Pfad für InputStream Java Basics - Anfänger-Themen 5
M Existiert der gegebene Pfad? Java Basics - Anfänger-Themen 5
G aktueller Pfad Java Basics - Anfänger-Themen 4
F Relativer Pfad auf Datei im Projektordner Java Basics - Anfänger-Themen 11
B Pfad einer .jar im Programm ermitteln Java Basics - Anfänger-Themen 13
T Pfad für Datei neben Jar Java Basics - Anfänger-Themen 9
S File Kopieren Path Pfad Problem Java Basics - Anfänger-Themen 3
I Java-Programmm starten/ Pfad hsql DB Java Basics - Anfänger-Themen 7
D Input/Output Pfad richtig ermitteln Java Basics - Anfänger-Themen 12
T Pfad gültig oder ungültig? Java Basics - Anfänger-Themen 17
T brauche den pfad Name! Java Basics - Anfänger-Themen 2
Z css pfad falsch Java Basics - Anfänger-Themen 7
P ImageIcon/Pfad Java Basics - Anfänger-Themen 3
M externen Pfad in Jar verwenden Java Basics - Anfänger-Themen 3
V pfad.exists() gilt nicht für "//server/a/xyz.jpg"? Java Basics - Anfänger-Themen 12
C Relativer Pfad - Statische Methode Java Basics - Anfänger-Themen 6
C exec Aufruf mit Leerzeilen im Pfad Java Basics - Anfänger-Themen 3
J Pfad bzw. Namen einer Datei auslesen Java Basics - Anfänger-Themen 6
D Pfad zu "Eigenen Dateien" ermitteln Java Basics - Anfänger-Themen 8
A Relativer Pfad zu einem File ermitteln Java Basics - Anfänger-Themen 2
M createImage ungültiger Pfad registrieren Java Basics - Anfänger-Themen 2
S Pfad für Datei falsch - wie richtig angeben? Java Basics - Anfänger-Themen 7
H Wie Projekt-Ordner-Pfad ermitteln? Java Basics - Anfänger-Themen 11
A Aktueller Pfad des Programms (.jar) ermitteln Java Basics - Anfänger-Themen 10
M Problem mit relativen Pfad unter Linux Java Basics - Anfänger-Themen 5
L relativer Pfad Java Basics - Anfänger-Themen 2
S In Eclipse relativen Pfad fuer Tomcat Server erstellen..? Java Basics - Anfänger-Themen 3
E Pfad zu einem gif-Bild wird zur Laufzeit nicht gefunden Java Basics - Anfänger-Themen 5
megachucky FileInputStream findet nur absoluten Pfad, keinen Relativen ?! Java Basics - Anfänger-Themen 7
M Pfad angabe bei getRescource und ImageIO.write Java Basics - Anfänger-Themen 4
E new File macht den Pfad kaputt Java Basics - Anfänger-Themen 15
0 Den Pfad für das Bild angeben Java Basics - Anfänger-Themen 9
D Pfad zum Konfigurationsfile von Servletanwendung "dynamisieren" Java Basics - Anfänger-Themen 27
H Wie mache ich aus pfad\\unterpfad pfad\unterpfad? Java Basics - Anfänger-Themen 3
L datei speichern untervorgegebenen pfad Java Basics - Anfänger-Themen 3
A relativer Pfad Java Basics - Anfänger-Themen 6
R Properties über statischen Pfad laden Java Basics - Anfänger-Themen 2
L Pfad von Webprojekt auslesen Java Basics - Anfänger-Themen 10
F Datei suchen --> Pfad als String speichern Java Basics - Anfänger-Themen 8
R Pfad relativ eingeben Java Basics - Anfänger-Themen 20
Z Pfad zum Jararchiv Java Basics - Anfänger-Themen 4
S Object Pfad Java Basics - Anfänger-Themen 3
S log4j pfad per umgebungsvariable setzen? Java Basics - Anfänger-Themen 2
G Mit jFileChooser Pfad rauskriegen? Java Basics - Anfänger-Themen 3
G Pfad einer Klasse Java Basics - Anfänger-Themen 6
D Relativer Pfad innerhalb jar Datei Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben