Как я могу открыть ссылку в браузере по умолчанию одним нажатием кнопки в строках
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
open("www.google.com"); // just what is the 'open' method?
}
});
?
Ответы:
Используйте метод Desktop # browse (URI) . Он открывает URI в браузере пользователя по умолчанию.
источник
new ProcessBuilder("x-www-browser", uri.toString());
. Можно подумать, что если бы были ограничения безопасности, вызов ProcessBuilder не работал бы. Но это действительно работает. Я понятия не имею, почемуdesktop.browse(uri)
не работает, но я видел, что это не работает для многих людей. Я догадывался, что это проблема Netbeans, но не знаю.openWebpage
может использоватьRuntime.exec(..)
и перебирать заранее определенный набор популярных имен браузеров, передавая им URL. Тем не менее, это также имеет предостережение не запускать для пользователей с малоизвестными браузерами, но я напишу и добавлю его в этот ответ вскоре, когда у меня будет свободное время.источник
примечание: вы должны включить необходимый импорт из
java.net
источник
Решение без среды рабочего стола - BrowserLauncher2 . Это более общее решение, так как в Linux рабочий стол не всегда доступен.
Длинный ответ размещен на https://stackoverflow.com/a/21676290/873282
источник
источник
Я знаю, что это старый вопрос, но иногда он
Desktop.getDesktop()
вызывает неожиданный сбой, как в Ubuntu 18.04. Поэтому мне приходится переписывать свой код вот так:Затем мы можем вызвать этот помощник из экземпляра:
источник
источник