Ich versuche, eine Java-GUI zu erhalten, um eine Webseite zu öffnen. Also führt die GUI einen Code aus, der Dinge erledigt und dann eine HTML-Datei erzeugt. Ich möchte dann diese Datei in einem Webbrowser (vorzugsweise Firefox) öffnen, sobald sie erstellt wird. Wie würde ich das machen?Erhalten von Java-GUI, um eine Webseite im Webbrowser zu öffnen
Antwort
Wenn Sie Java 6 oder höher verwenden, finden Sie in der Desktop API, insbesondere browse. Verwenden Sie es wie folgt (nicht getestet):
// using this in real life, you'd probably want to check that the desktop
// methods are supported using isDesktopSupported()...
String htmlFilePath = "path/to/html/file.html"; // path to your new file
File htmlFile = new File(htmlFilePath);
// open the default web browser for the HTML page
Desktop.getDesktop().browse(htmlFile.toURI());
// if a web browser is the default HTML handler, this might work too
Desktop.getDesktop().open(htmlFile);
Ich habe BrowserLauncher2 mit Erfolg eingesetzt. Es ruft den Standardbrowser auf allen getesteten Plattformen auf. Ich benutze dies für Demo-Software über JNLP. Die Software lädt, lädt und betreibt den Browser des Benutzers zu Informationsseiten/Feedback etc.
JDK 1.4 und höher, glaube ich.
Wenn die URL der Seite wegen Benutzeraktivität geändert wird, kann diese neue URL mit BrowserLauncher2 abgerufen werden? –
Ja, aber wenn Sie die Webseite in Ihrem Standard-Webbrowser mit einem Java-Programm öffnen möchten, können Sie versuchen, diesen Code zu verwenden.
/// file OpenPageInDefaultBrowser.java
public class OpenPageInDefaultBrowser {
public static void main(String[] args) {
try {
//Set your page url in this string. For eg, I m using URL for Google Search engine
String url = "http://www.google.com";
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));
}
catch (java.io.IOException e) {
System.out.println(e.getMessage());
}
}
}
/// End of file
Ich weiß, dass alle diese Antworten im Grunde die Frage beantwortet haben, aber hier ist der Code für eine Methode, die elegant fehlschlägt.
Beachten Sie, dass die Zeichenfolge die Position einer HTML-Datei sein kann
/**
* If possible this method opens the default browser to the specified web page.
* If not it notifies the user of webpage's url so that they may access it
* manually.
*
* @param url
* - this can be in the form of a web address (http://www.mywebsite.com)
* or a path to an html file or SVG image file e.t.c
*/
public static void openInBrowser(String url)
{
try
{
URI uri = new URL(url).toURI();
Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
desktop.browse(uri);
} else {
throw new Exception("Desktop not supported, cannout open browser automatically");
}
}
catch (Exception e)
{
/*
* I know this is bad practice
* but we don't want to do anything clever for a specific error
*/
e.printStackTrace();
// Copy URL to the clipboard so the user can paste it into their browser
StringSelection stringSelection = new StringSelection(url);
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
clpbrd.setContents(stringSelection, null);
// Notify the user of the failure
WindowTools.informationWindow("This program just tried to open a webpage." + "\n"
+ "The URL has been copied to your clipboard, simply paste into your browser to access.",
"Webpage: " + url);
}
}
- 1. Wie erzwinge Web-Browser-Steuerelement, um die Webseite immer im selben Fenster zu öffnen?
- 2. Um die aktiven JavaScript-Funktionen einer Webseite zu erhalten, sobald wir öffnen
- 3. silverlight - xaml im neuen Webbrowser öffnen
- 4. Link im neuen TAB (WebBrowser Control) öffnen
- 5. So öffnen Sie eine Webseite automatisch im Vollbildmodus
- 6. Ist es möglich, eine ungepufferte Webbrowser-Ausgabe zu erhalten?
- 7. Wie wird die Standard-Webseite beim Öffnen eines neuen Tabs im Webbrowser eingestellt?
- 8. Absicht, Webseite/App im Standalone-Modus zu öffnen
- 9. Öffnen eine lokale Webseite mit einem JEditorPane
- 10. Gradle Aufgabe, um eine URL im Standardbrowser zu öffnen
- 11. Link auf einer Webseite, um Instagram App zu öffnen
- 12. Wie kann ich mechanize verwenden, um auf eine Webseite zu klicken, um Informationen zu erhalten?
- 13. WebBrowser Kontrolle: Navigation zu der Webseite wurde abgebrochen
- 14. Eine Webseite mit Sockets erhalten
- 15. JQuery: Kann ich einen Dialog verwenden, um eine externe Webseite zu öffnen?
- 16. Öffnen von TFS-Workitem-Anhang im Image Viewer und nicht im Webbrowser
- 17. So verlinken Sie zu einem ausgewählten Dropdown-Element, um eine Webseite zu öffnen
- 18. Debug-Webseite leitet im Browser um
- 19. Öffnen einer Webseite in einer Android-App
- 20. Excel in der Webseite öffnen?
- 21. Eclipse zum Öffnen von .html im Texteditor standardmäßig öffnen?
- 22. Python - Flask - öffne eine Webseite im Standardbrowser
- 23. Contour Plot im Webbrowser
- 24. Wie BeautifulSoup verwendet wird, um eine Webseite URL zu scratzen
- 25. Wie kann ich eine Webseite von meinem Applet aus öffnen?
- 26. Öffnen der Webseite mit Python
- 27. Wie WebRequest verwenden, um Daten zu veröffentlichen und Antwort von einer Webseite zu erhalten
- 28. Selenium WebDrivers verwenden, um geöffnete Webseite von .NET zu verfolgen
- 29. Der beste Weg, um eine URL in Vim zu öffnen
- 30. Öffnen einer Webseite mit sim900
Hey. Kann es immer noch nicht zur Arbeit bringen. Ich erhalte den folgenden Fehler: "Fehlermeldung: Das System kann den angegebenen Pfad nicht finden." Das ist, obwohl ich ihm den genauen Weg gegeben habe. –
@TheSpecialOne - liefern Sie einen _local_ Pfad zur Datei? zB: In einer Windows Box würde htmlFilePath wie "c: \ Pfad \ zu \ Datei.html" aussehen. Verwenden Sie nicht die URL-Syntax ... –