Dateipfad beim Laden einer Datei + Neue kleine Frage!

Luk10

Top Contributor
Grüße,

Mich würde interessieren wann man den gesammten Dateipfad und wann man nur die Datei beim laden einer Datei angeben muss.

In viele Tuturials sehe ich immer wieder nur
Code:
String path = "beispiel.png";
Wenn ich das so mache wirde die Datei nicht gefunden, bzw ich bekomme eben null zurück.

Was muss ich tun damit ich nicht wie bis jetzt immer den gesammten Pfad also
Code:
F:\Neuer Ordner (2)\Beispiel\pics\beispiel.png
nennen muss.

Mein Ordner pics liegt in dem selben Ordner in welchem auch scr und bin ist.

Danke, Luk
 
Zuletzt bearbeitet:
Du kannst Pfade absolut ("C:\Dein\Verzeichniss\zur\Datei.txt"), oder relativ ("Datei.txt") zum working directory deines Programms angeben.
Das working directory kannst du dir z.b. per new File().getAbsolutePath(); holen.
 
Vorsicht mit Slashes vs. Backslashes ;-)
EikeB hat bestimmt so was gemeint: "C:/Dein/Verzeichniss/zur/Datei.txt" oder "C:\\Dein\\Verzeichniss\\zur\\Datei.txt"
 
Hm, das verstehe ich nicht, was mache ich mit dem neuem Path?

Könntest du mal das Image beispiel.png in einem Codebeispiel in einer Variable speichern?

Was müsse ich dazu an

Code:
return (Image) ImageIO.read(new File(Path.THIOMA_PATH.getPath()));
Code:
THIOMA_PATH("F:/Neuer Ordner (2)/Beispiel/pics/Thioma.png")

ändern?

Danke, Luk

EDIT: Madboy, ja ich weiß, habs nur aus eigenschaften kopiert und vergessen zu ändern!
 
Vorsicht mit Slashes vs. Backslashes ;-)
EikeB hat bestimmt so was gemeint: "C:/Dein/Verzeichniss/zur/Datei.txt" oder "C:\\Dein\\Verzeichniss\\zur\\Datei.txt"
Mein Beispiel war eine Windows Pfadangabe, in Java muss das natürlich anders aussehen :bae:

Hm, das verstehe ich nicht, was mache ich mit dem neuem Path?
Wenn du deine Datei per new File("MeineDatei.txt"); laden willst, dann suchst java im working directory. Das working directoy bekommst du per
Code:
String wd = new File("").getAbsolutePath();
. Wenn in dem Pfad dann die Datei liegt kannst du die wie oben beschrieben laden.
Da ich nicht weiß wo bei dir welche Dateien liegen und was deine Variablen sind kann ich dir deiner Frage nicht konkret beantworten, aber mit der Erklärung solltest du das doch hinbekommen.
 
So ich hab noch ein bisschen rumprobiert und jetzt klappt das 🙂

Danke!

Ich habe aber noch eine Frage:

Wann ist x, y = 0, 0 unter dem Festerrahmen und wann nicht?
 
Java:
public class SimPanel extends JPanel implements Runnable {
	
	private static final long serialVersionUID = -2872488901282033844L;
	
	public SimPanel (int w, int h) {
		
            this.setPreferredSize(new Dimension(w, h));
	    JFrame frame = new JFrame("CellSim");
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    frame.add(this);
	    frame.pack();
	    
	    doSetup();
	    
	    frame.setVisible(true);

	}
        @Override
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		
		g.setColor(Color.BLUE);
		g.drawString("FPS: " + fps, 0, 0);
                //Ist nicht zu sehen ... unter dem Fensterrahmen!

                g.drawImage(meinImage, 0, 0, null);
		//Ist vollständig zu sehen!! nicht unter dem Fensterahmen!
	}
}

Hier kleines Beispiel!
 
vlt wird drawstring auf den punkt geschrieben. also ist der anker eines strings links unten. ein bild wird mit der linken oberen ecke verankert
 
Zuletzt bearbeitet von einem Moderator:
Wenn drawString() an der unteren linken Ecke verankert ist dann müsste die ober linke Ecke bei drawString(0, 0) bei -10, -10 sein ...

Das glaube ich nicht
 
ne die linke obere ecke ist dann bei (0, -10)

probier es aus und drawstring bei (0,10)
 

Anhänge

  • anker.GIF
    anker.GIF
    3,3 KB · Aufrufe: 36

Zurück
Oben