2015-05-29 5 views
2

Я использую компонент webview в javafx 2.0. Проблема заключается в том, что веб-представление не правильно отображает шрифт hindi в webview. Такой код правильно обрабатывается в некоторой системе, но не рендеринг на других. поэтому plz дает мне какое-либо предложение. Или есть альтернатива веб-просмотру.Хинди шрифт не является правильным рендерингом в браузере веб-браузера с помощью javafx

Ниже приводится код JavaFX, который я использую, чтобы сделать шрифт хинди: -

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.layout.StackPane; 
import javafx.scene.web.WebEngine; 
import javafx.scene.web.WebView; 
import javafx.stage.Stage; 


public class TestWebView extends Application { 

    public void start(Stage primaryStage) { 

    WebView myBrowser = new WebView(); 

     WebEngine myWebEngine = myBrowser.getEngine(); 
     myWebEngine.load("http://www.jagran.com/"); 

     StackPane root = new StackPane(); 
     root.getChildren().add(myBrowser); 
     primaryStage.setScene(new Scene(root, 100, 100)); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 

} 
+0

Вы проверили, можете ли вы предоставить что-то вроде charset или параметра кодирования в любом месте? – YMomb

ответ

1

вы можете использовать jxbrower для этого вопросы. Посмотрите, пожалуйста, этот пример

import com.teamdev.jxbrowser.chromium.Browser; 
import com.teamdev.jxbrowser.chromium.javafx.BrowserView; 
import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.layout.StackPane; 
import javafx.stage.Stage; 

/** 
* Demonstrates how to embed Browser instance into JavaFX application. 
*/ 
public class JavaFXSample extends Application { 

    @Override 
    public void start(Stage primaryStage) { 
     Browser browser = new Browser(); 
     BrowserView browserView = new BrowserView(browser); 

     StackPane pane = new StackPane(); 
     pane.getChildren().add(browserView); 
     Scene scene = new Scene(pane, 700, 500); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 

     browser.loadURL("http://www.google.com"); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 
+0

Thanku Rajesh, его правильный код. Но JXBrowser не является бесплатным, а цена этого браузера - 120000 .... Так что plz дайте мне одно решение –

0

Вы могли бы использовать:

1.) JCEF>https://bitbucket.org/chromiumembedded/java-cef

2.) использовать java8, Iguess вы используете java7 только тогда вы столкнулись с проблемой.

package javafxapplication5; 

import java.io.IOException; 
import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.layout.StackPane; 
import javafx.scene.web.WebEngine; 
import javafx.scene.web.WebView; 
import javafx.stage.Stage; 

public class JavaFXApplication5 extends Application { 
    @Override 
    public void start(Stage stage) throws Exception { 
     StackPane root = new StackPane(); 

     WebView view = new WebView(); 
     WebEngine engine = view.getEngine(); 
     engine.load("http://www.jagran.com/"); 
     root.getChildren().add(view); 

     Scene scene = new Scene(root, 800, 600); 
     stage.setScene(scene); 
     stage.show(); 
    } 

    public static void main(String[] args) throws IOException { 
     Application.launch(args); 
    } 
} 

это работает для меня.

+0

Да, я использовал java8, но видеопроигрыватель не правильно работает в java 8. –