Link in einem ausgewählten Browser öffnen

PrinzMartin

Aktives Mitglied
Moin Moin

ich habe schon herausgefunden, wie ich einen Link im Standartbrowser öffnen kann. Leider ist das nur das halbe Ziel. Ich hätte es gern, dass man per FileChooser seinen preferierten Browser aussuchen kann und dann die URI in dem ausgewählten Browser geöffnet wird.

Leider find ich da aktuell nix ... vllt bin auch googleblind geworden ;-) aber alle wollen nur im standartbrowser öffnen.

(hintergrund ist, dass meine freundin normal opera hat aber ihre mails immer im FF abruft da Opera das mit den zertifikaten nich hinbekommt (so oder so ähnlich sagte sie ;-)))

hoffe ihr könnt mir hier anhaltspunkte geben. (fertiger code ist auch erlaubt ;-))


€dit:
ich bin jetzt mal weiter in die Desktop.browse richtung gegangen aber da scheint man immer nur die standartanwendung nutzen zu können.

ichh ätte es aber gerne so, dass man wirklich das programm selbst auswählt mit dem man den link öffnen möchte. (das ganze soll aber plattformunabhängig bleiben wenn möglich).

Grüße
Martin
 
Zuletzt bearbeitet:
Im simpelsten Fall:
Java:
Runtime.getRuntime.exec("C:/Programme/Firefox/firefox.exe "+link);
Irgendwo musst du dann halt auswählen lassen, welchen Browser der Benutzer will und diesen Pfad dann in den Aufruf stecken. Ich denke alle Browser unterstützen es, dass man die Ziel-URL als Parameter übergibt.
Der obige Code ist nur eine Vorlage, wie es gehen kann.
 
tatsächlich.... da hab ich mich wohl zusehr auf die eine richtung mit dem desktop konzentriert. ich dachte die ganze zeit ich könne dort eventuell den browser als parameter übergeben. So is natürlich wunderbar. Genau das was ich gesucht habe.

Danke sehr
 
Ich wollte sowas auch mal machen. So wie es da steht, hat es beimir nicht geklappt, aber google hat dann doch geholfen. Mein Problem ist aber, dass JAVA mit den Leerzeichen in meinem Datei-Pfad nicht klar kommt... Wie kann ich das problem lösen?

Java:
import java.io.IOException;
import java.lang.Runtime;
import java.text.ParseException;

public class LinkOeffner {

	public static void main(String args[]) throws IOException, ParseException
    {
        LinkOeffner m = new LinkOeffner("C:/Programme (x86)/Mozilla Firefox/firefox.exe");
        m.open("www.java-forum.org");
    }
	
	private String Pfad;
	
	public LinkOeffner(String pPfad)
	{
		Pfad = pPfad;
	}
	
	public void open(String pLink)
	{
		Runtime rt = Runtime.getRuntime ();

		try {
			rt.exec(Pfad+" "+pLink);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
}
 
Ich denke, das Problem liegt eher am Betriebssystem bzw. der Konsole statt an Java.
Du solltest deinen Pfad nochmals innerhalb des Strings in Anführungszeichen setzen, dann sollte die Windows-CMD damit klarkommen:
Java:
LinkOeffner m = new LinkOeffner("\"C:/Programme (x86)/Mozilla Firefox/firefox.exe\"");
 
Leider nicht. Nach wie vor der selbe Fehler....


java.io.IOException: Cannot run program ""C:/Programme": CreateProcess error=2, Das System kann die angegebene Datei nicht finden
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at LinkOeffner.open(LinkOeffner.java:25)
at LinkOeffner.main(LinkOeffner.java:10)
Caused by: java.io.IOException: CreateProcess error=2, Das System kann die angegebene Datei nicht finden
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 6 more
 
Ich sehe auch gerade, dass du den Pfad in einer Mischung von Windows- und Unix-Schreibweise angibst - ich denke nicht, dass dies funktioniert. Ersetze jeden / durch \\, dann sollte es klappen.
 
Java:
LinkOeffner m = new LinkOeffner("\"C:\\Programme (x86)\\Mozilla Firefox\\firefox.exe\"");

damit erhalte ich diesen fehler:

java.io.IOException: Cannot run program ""C:\Programme": CreateProcess error=2, Das System kann die angegebene Datei nicht finden
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at LinkOeffner.open(LinkOeffner.java:25)
at LinkOeffner.main(LinkOeffner.java:10)
Caused by: java.io.IOException: CreateProcess error=2, Das System kann die angegebene Datei nicht finden
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 6 more



Java:
LinkOeffner m = new LinkOeffner("C:\\Programme (x86)\\Mozilla Firefox\\firefox.exe");

und damit diesen fehler:

java.io.IOException: Cannot run program "C:\Programme": CreateProcess error=5, Zugriff verweigert
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at LinkOeffner.open(LinkOeffner.java:25)
at LinkOeffner.main(LinkOeffner.java:10)
Caused by: java.io.IOException: CreateProcess error=5, Zugriff verweigert
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 6 more
 
Okay, eines würde mir noch einfallen:
Die deutschen Ordnernamen sind unter Vista/Win7 keine realen Ordner, sondern nur Links auf die eigentlichen Programmordner mit englischen Namen. Versuche es also einmal mit "Program Files (x86)" statt mit "Programme". Das hat mir einmal bei einem ähnlichen Problem geholfen.
 
das war das problem... Danke!

hab es jetzt mit

Java:
LinkOeffner m = new LinkOeffner("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");

zum laufen bekommen. Danke nochmal
 
Hallo
Das Problem aus dem ersten Beitrag habe ich auch so ähnlich.
Ich möchte Links die ich im google chrome klicke, im firefox(standard browser) angezeigt bekommen.

wie kann mir dieses java programm dabei helfen?
und wo baue ich das ein?
ich muss dann doch auch die url übergeben.
 

Neue Themen


Zurück
Oben