2008-09-07 11 views
63

¿Hay alguna forma de insertar un navegador en Java?¿Hay alguna forma de insertar un navegador en Java?

UP: ¿Cómo hacerlo hoy?

+0

[JxBrowser] (http://www.teamdev.com/jxbrowser) biblioteca proporciona oscilación/JavaFX ligera componente basado en el último motor Chromium. Las páginas web son renderizadas por el motor Chromium fuera de la pantalla y se muestran en el ligero componente Swing/JavaFX. Es muy [fácil de usar] (https://jxbrowser.support.teamdev.com/support/solutions/articles/9000012864-quick-start-guide-for-swing-developers). Es gratis para proyectos académicos y de código abierto. – Vladimir

+0

pensé, es comercial. Quiero decir, ¿cómo podrías obtener la licencia gratuita @Vladimir? – gumuruh

+0

En el formulario de evaluación en https://www.teamdev.com/jxbrowser#evaluate, seleccione Open-Source o Academic. Verá una breve explicación: la licencia de evaluación no funcionará después de este tiempo. Si está realizando un proyecto de código abierto, puede solicitar una licencia permanente a través del enlace proporcionado en el correo electrónico que recibirá. Entonces, una vez que solicite la evaluación, recibirá un correo electrónico al que puede escribir para solicitar una licencia gratuita para el proyecto de fuente abierta. – Vladimir

Respuesta

35

Desde JavaFX 2.0 se puede utilizar ahora webview

enter image description here

+1

Un tutorial está aquí: http://stackoverflow.com/a/8413289/4857 –

+0

Una biblioteca JavaFX alternativa es JxBrowser con el componente BrowserView: http://www.teamdev.com/jxbrowser – Vladimir

+0

WebView tiene algunos problemas de rendimiento, consulte http : //stackoverflow.com/questions/10762979/performance-of-webview-in-javafx – Stefan

23

Creo JWebPane va a ser la forma oficial de incrustar un navegador en una aplicación de java. Está basado en el motor de fuente abierta: WebKit, que se usa en los navegadores Apples Safari y Google Chrome. Consulte this blog para obtener más información.

+1

Al 3 de marzo de 2009, esto aún no es posible. – OscarRyz

+2

A partir del 21/09/2009, esto aún no es posible. – jrhicks

+2

A partir del 12/23/2009, esto no ha sido posible – jumar

8

Puede usar SWT para su GUI. Su control de navegador le permite incrustar IE, Mozilla o Safari (dependiendo de la plataforma en la que se está ejecutando) con poco dolor.

+0

Los valores de retorno de browser.evaluate() están limitados a un tipo de vista. JavaFx WebEngine puede manejar todo tipo de tipos de devolución al envolver el valor devuelto en JSObject. – Stefan

2

He abierto con éxito un navegador de Java usando SWT. Puede encontrar code examples de cómo usar SWT para abrir una ventana del navegador. Es muy fácil de hacer

+0

Los valores de retorno de browser.evaluate() están limitados a un tipo de vista. JavaFx WebEngine puede manejar todo tipo de tipos de devolución envolviendo el valor de retorno en JSObject – Stefan

2

Con mucho, el navegador más robusto e incrustable con el que estoy familiarizado es el de SWT. De hecho, es tan flexible que el elemento contextual de JavaDoc que puede ver en Eclipse es en realidad un navegador, y la vista JavaDoc en realidad admite cosas como la animación.

El único riesgo al usar SWT es que hay diferentes versiones de la biblioteca SWT para diferentes plataformas. No estoy seguro si hay un tarro individual que podrías incluir para cubrir a todos.

1

Si necesita una solución pura de Java a continuación, puedes probar JWebEngine. Hace que HTML 4 sea muy bueno. Puede usarlo en un applet, webstart de Java y en cualquier plataforma. El uso es muy simple.

+0

Sin embargo, no es una solución de código abierto. Puede que no se ajuste a todas las necesidades. – Vincent

+0

El código abierto no era un requisito del OP. – Horcrux7

4

JxBrowser no se ha mencionado todavía. Incorpora Mozilla Firefox (Gecko), Apple Safari (WebKit) o ​​Internet Explorer. Programmer's Guide

+0

También [JExplorer] (http://www.teamdev.com/jexplorer/) es una solución más barata de TeamDev si no necesita una solución multiplataforma. – xmedeko

+2

A partir de la versión 4.0 JxBrowser se integra con el motor Chromium. – Vladimir

+0

He estado buscando una respuesta real a esta pregunta durante años, y la versión 4 de JxBrowser es realmente un cambio de juego. Es exactamente lo que esperarías que fuera un componente de navegador swing. – CarlG

1

usted podría intentar un JEditorPane, no interpreta avanzada HTML, Javascript, ni CSS avanzado, pero puede escribir esa parte usted mismo, llamado EditorKit. Esa es la clase/objeto que consulta JEditorPane o cómo debe mostrar su contenido.

Sé que es posible, porque lo intenté y fallé (: P), pero podría estar desactualizado o desaprobado por ahora, no sé.

0

Si miras el iniciador de Minecraft (el anterior), mira a través de LoginForm o LauncherFrame, quizás puedas encontrar ese método. Hay un tutorial de kippykip en youtube sobre cómo descompilarlo y editarlo: here

Cuestiones relacionadas