Explorer über Code starten

jf

Bekanntes Mitglied
Hallo ihr Spezis,

ich möchte über einen JButton einen Ordner im Explorer anzeigen und idealerweise gleich noch eine Datei darin selektieren.

Das Öffnen eines Ordner kann man ja mit folgendem Code umsetzen:
Java:
Runtime.getRuntime().exec(new String[] {"explorer.exe", file.getAbsolutePath()});
Allerdings wird hierbei eine neue Instanz des Explorers gestartet, was ich gerne vermeiden möchte.

Das was ich will, erreicht man mit der Windows-API ShellExecute mit Übergabe des Pfades (aber ohne "explorer.exe") oder gleich mit der Windows-API SHOpenFolderAndSelectItems, um noch eine Datei zu selektieren. - Aber wie macht man des unter Java? Ist so ewas hier überhaupt möglich?

Gruß und vielen Dank für eure Hilfe!
 

jf

Bekanntes Mitglied
Danke EikeB, das hilft mir schon weiter.
Java:
Desktop.getDesktop().open(folder);
So wird das Verzeichnis mit der aktuell laufenden Explorer-Instanz geöffnet (im Falle eines Ordner-Pfades),
bzw. es wird die Datei direkt geöffent (im Falle eines Datei-Pfades).

Code:
Desktop#open(File f)
schon versucht?
Das hat bei mir leider nicht funktioniert.
Was hat das mit der Raute auf sich? - Habe so etwas noch nie gesehen...

Ist das Selektieren einer Datei ebenfalls möglich?
 
G

Gast2

Gast
Die Raute sollte nur klar machen dass das keine statische Methode ist.
Wenns mit
Code:
Desktop.getDesktop().open(folder);
funktioniert ist doch alles prima :)
 

jf

Bekanntes Mitglied
Die Raute sollte nur klar machen dass das keine statische Methode ist.
Wenns mit
Code:
Desktop.getDesktop().open(folder);
funktioniert ist doch alles prima :)
Ah, alles klar.
Dachte, es ist evtl. eine verkürzte Singleton-Schreibweise - so ähnlich wie "ptr->method" für "(*ptr).method" unter C++.
(also Class#method == Class.getInstance().method), was sehr interessant gewensen wäre)
Also gibt es in Java keine Verwendung von Raute an dieser Stelle?
Handelt sich es hierbei jedoch um eine allgemein übliche Beschreibung?
 
Zuletzt bearbeitet:
G

Gast2

Gast
glaub schon dass die schreibweise üblich ist.
Code:
Class.method
sagt dass die Methode static ist.
Code:
Class#method
sagt dass method eine Instanzmethode ist.
Hab ich mir aber noch nie so richtig gedanken drüber gemacht :D
 
A

AwsmDude

Gast
Die # kommt wohl eher von Javadoc Verlinkungen:
[JAPI]ArrayList#add(E)[/JAPI]
Forum BB Code:
Code:
[JAPI]ArrayList#add(E)[/JAPI]
 

jf

Bekanntes Mitglied
Hi \m/,

Du hast keinen Einfluss auf [c]explorer.exe[/c]. Ausser du würdest es mit [c]exec()[/c] parametrisieren können.
Es gibt also auch keine Möglichkeiten unter Java die Windows-API anzusprechen?
Eigentlich müsste das schon gehen, wie sonst kann man mit Java ein Fenster erzeugen?
Naja, vlt. passiert das ja auch irgendwo ganz tief in der VM...

Aber viel wichtiger ist, dass es mit [c]Desktop.open()[/c] nicht nur unter Windoof funktioniert ;)
Ja, generell gebe ich dir Recht - aber für meine Anwendung ist Windows eben die Brot- und Butter-Plattform schlechthin, weshalb dieser Vorteil nicht mehr so gravierend ist. ;)


@AwesomeDude: JavaDoc also, alles klar. :)
 

faetzminator

Gesperrter Benutzer
Es gibt JNI und JNA (und anderes), um das System über DLLs etc. anzusprechen. Swing etc. ist tief in der Std API verwurzelt. Es gibt aber auch 3th Party Software, welche Systemzugriff benötigt. Dein Beispiel der GUIs: Es gibt von Eclipse SWT, das ist native. Da muss man sich zu der Jar immer noch eine DLL, ein SO, ... downloaden, welches alles systemnahe erledigt.
 

jf

Bekanntes Mitglied
Ich hätte doch noch mal eine Frage hierzu:
Die Bibliothek java.awt.Desktop gibt es erst ab Java 1.6 - kennt jemand eine Alternative hierzu in älteren Java-Versionen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C .jar unter Windows7 über den Explorer starten Allgemeine Java-Themen 6
M datei über rechten mausklick aus explorer in programm laden Allgemeine Java-Themen 4
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
M Checkliste mit erweiterbaren Einträgen, Baumstruktur, wie Windows Explorer Navigation Allgemeine Java-Themen 2
offi Drag and Drop mehrerer File aus Explorer in JTable Allgemeine Java-Themen 1
S Panel zur Dateiendarstellung wie in einem Explorer Allgemeine Java-Themen 12
N Internet Explorer mit bestimter Java Runtime starten Allgemeine Java-Themen 2
R Dateien vom Windows-Explorer zum Programm senden Allgemeine Java-Themen 21
Benji0815 Verzeichnis wie im Windows Explorer in einem JTree anzeigen Allgemeine Java-Themen 6
V Windows Explorer öffnen? Allgemeine Java-Themen 5
C Programm ins Kontextmenü vom Explorer einbinden Allgemeine Java-Themen 9
E Internet Explorer startseite festlegen, Adressleiste sperren Allgemeine Java-Themen 3
P URL mit htaccess in Explorer öffnen (ohne user-passwort) Allgemeine Java-Themen 6
M Explorer / Standardprogramm öffnen unter 1.4 Allgemeine Java-Themen 6
T Explorer-Fenster öffnen mit Java Allgemeine Java-Themen 9
N Applet läut nicht im Internet Explorer Allgemeine Java-Themen 4
P java application in das rechtsklick menü im explorer adden? Allgemeine Java-Themen 21
R Servlet Probleme im Internet Explorer (per LAN) Allgemeine Java-Themen 4
Q Internet Explorer im Vollbildmodus starten Allgemeine Java-Themen 7
R Zugriff auf Internet Explorer Cache Allgemeine Java-Themen 8
kodela Datenübergabe über Buttons Allgemeine Java-Themen 8
W Jar-File Start nur über Terminal Allgemeine Java-Themen 13
A ByteArray über Socket Allgemeine Java-Themen 3
berserkerdq2 Text über einen Shape anzeigen (Scenebuilder) Allgemeine Java-Themen 1
I 2D-Grafik Vektor-Grafik über die Zwischenablage nach Adobe Illustrator transferieren Allgemeine Java-Themen 8
TheSkyRider Methode über DataInputStream "auslösen" Allgemeine Java-Themen 6
I OpenPDF erzeugt riesige PDFs, wenn Grafiken über PdfGraphics2D#drawImage gezeichnet werden Allgemeine Java-Themen 1
T Etikettendrucker über TCP-IP Allgemeine Java-Themen 1
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
Master3000 Java Konsole über Buffered Reader Zeilenweise auslesen ? Allgemeine Java-Themen 26
J Daten über serielle Schnittstelle empfangen Allgemeine Java-Themen 4
L Aufwandsabschätzung: Android-App Aufnahmefunktion (foto) und zweiter Ebene über dem Foto (teiltransparent) Allgemeine Java-Themen 6
M Registry Autostart Eintrag mit Java erstellen (über Windows cmd) Allgemeine Java-Themen 7
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
J Namen von Methoden über Reguläre Ausdrücke bearbeiten Allgemeine Java-Themen 6
M Schnelleres Speichern von XML-Daten über URLConnection Allgemeine Java-Themen 4
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
W Variablenübergabe über mehrere Klassen Allgemeine Java-Themen 4
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
M Threads über Kommandozeile Allgemeine Java-Themen 5
david19 Software AE über Domain laufen lassen Allgemeine Java-Themen 0
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
T Problem mit externen Datenbankzugriff über SSH Tunnel Allgemeine Java-Themen 4
K Auf Dateiverzeichnis extern zugreifen (evtl über XML??) Allgemeine Java-Themen 22
C VisualVM oder Jconsole über Jolokia-Proxy Allgemeine Java-Themen 0
G USB-Pins über Java ansteuern Allgemeine Java-Themen 8
Ernesto95 Best Practice Localization über ResourceBundle Allgemeine Java-Themen 6
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
C Auslesen auslösen über Button-Click Allgemeine Java-Themen 8
M Fragen beantworten über Textfeldeingabe Allgemeine Java-Themen 5
AssELAss Best Practice Checksumme über jede Spalte zweier Tabellen und vergleichen Allgemeine Java-Themen 3
T Strings über Bluetooth zwischen PC,µc oder Samrtphone senden und empfangen Allgemeine Java-Themen 0
F Try/catch über ganze Klasse Allgemeine Java-Themen 9
kodela Eigenartige Datumsberechnung über GregorianCalendar Allgemeine Java-Themen 15
HarleyDavidson Best Practice Integer-Zahlenfolge über mehrere Programmstarts Allgemeine Java-Themen 7
T .jar über cmd ausführen (später dann batch) Allgemeine Java-Themen 6
F In OSX: Java-Programm über URI-Scheme aufrufen mit Parameter? Allgemeine Java-Themen 0
C Input/Output Zip Files über Socket senden und empfangen Allgemeine Java-Themen 6
M WebService - Zugriff auf Webservice Methode über Browser Allgemeine Java-Themen 1
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
L Videodateien über Java öffnen unabhängig vom Format Allgemeine Java-Themen 4
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
A Threads Lock über mehrere Abschnitte in verschiedenen Methoden Allgemeine Java-Themen 5
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
M Eingabe von Arrays geht über gewünschte Anzahl hinaus Allgemeine Java-Themen 2
L Prüfen, ob Programm über 32bit oder 64bit Java ausgeführt wird Allgemeine Java-Themen 4
F Content-Disposition ermitteln über URL Allgemeine Java-Themen 2
ARadauer Checksumme über BigDecimal Werte Allgemeine Java-Themen 11
A Class Datei aus Verzeichnis über URLClassLoader laden Allgemeine Java-Themen 2
G Darstellung von Ergebnissen einer Dokumentensuche über eine JTable Allgemeine Java-Themen 19
S VLC + Lied über Java starten Allgemeine Java-Themen 17
M HTML-Code von Webseite über Browser oder Console auslesen?? Allgemeine Java-Themen 5
A Sinuston ausgeben und über Mikro Amplitude messen – machbar? Allgemeine Java-Themen 6
R Java-Progamm über Icon starten unter Windows Allgemeine Java-Themen 9
C Daten über URL an PHP verschicken Allgemeine Java-Themen 4
O Fragen über Fragen - Bei Änderung XML-Datei -> Anpassung GUI Allgemeine Java-Themen 7
aze Jar ausführen über Runtime.execute funktioniert nicht Allgemeine Java-Themen 4
S NoSuchMethodError beim Ausführen einer C Methode über JNI Allgemeine Java-Themen 5
H OOP Daten über TCP Allgemeine Java-Themen 5
Pastafari Iterator über nested HashMaps Allgemeine Java-Themen 7
R ListIterator über mehrere Arrays Allgemeine Java-Themen 13
G Interface Laden der Konfiguration über Interfaces sinnvoll? Allgemeine Java-Themen 28
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
B VoIP-Gespräche über Computer führen Allgemeine Java-Themen 3
S Jar-File startet nicht über doppelklick Allgemeine Java-Themen 2
C Java Programm über SSH starten Allgemeine Java-Themen 16
K Internetverbindung über PuTTy herstellen?! Allgemeine Java-Themen 9
C Kapselung Warum graift man auf Variablen nur über Methoden und nich direkt zu? Allgemeine Java-Themen 10
G Auf Kommandozeile über Processobjekt mit Outputstream Allgemeine Java-Themen 3
S Input/Output Binärdatei über Bytestreams Allgemeine Java-Themen 4
S Kommunikation von Core und GUI über Schnittstellen Allgemeine Java-Themen 2
kodela Problem mit Kopieren über FileChannel Allgemeine Java-Themen 4
L Java und Javascript um Distanz über Google Maps zu berchnen Allgemeine Java-Themen 10
B UNIX Shell befehl über JavaCode ausführen Allgemeine Java-Themen 19
D Java Excel API - Schreiben in Excel lässt sich nicht über Makro starten Allgemeine Java-Themen 18
M Ampelsteuerung über Timer in Java realisieren Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben