WebView doesn't render html input elements

Anton Tarasov anton.tarasov at oracle.com
Thu Jun 25 09:05:33 UTC 2015


On 25.06.2015 09:03, Александр Свиридов wrote:
> Hi Anton.
> Thank you for answer. Please,note that this problem is not only in 
> linux. The same I saw in windows XP but never in windows 7. Maybe it 
> will help.

I don't see it on Win7 as well. WinXP is not a supported platform for 
JFX 8+. Still, I will add your comment to JIRA. Thanks.

Regards,
Anton.

>
>
> Среда, 24 июня 2015, 19:12 +03:00 от "Anton V. Tarasov" 
> <anton.tarasov at oracle.com>:
>
>     Hi Alexander,
>
>     Yes, the issue exists indeed. I've filed it as: JDK-8129800
>     <https://bugs.openjdk.java.net/browse/JDK-8129800> [WebView]
>     controls not showing up initially on Linux. However, I don't
>     reproduce it with your test but with a slightly different one.
>
>     Anyway, thanks for reporting it.
>
>     Regards,
>     Anton.
>
>     On 23.06.2015 20:21, Александр Свиридов wrote:
>>       I have very simple html code (no css, nor js) that includes five inputs with type="radio" (in one column) and webview in JavaFX 8 which loads this page.
>>
>>     The problem is the following - sometimes these radios are rendered sometimes not.
>>
>>     For example, I start application - webview loads page, however there is empty space where these radio must be (these inputs are not rendered,they are not seen). But, when I move mouse over the area where these radios must be, they appear.
>>
>>     I see this problem in Linux - Centos, Ubuntu and Windows XP. I've not seen this problem in Win7.
>>
>>     Here is the code I tested. All the program consists of two classes:
>>
>>     public class JavaFXApplication extends Application {
>>          private int count=0;
>>          @Override
>>          public void start(Stage primaryStage) {
>>              final Button printButton = new Button("Print");
>>              final WebView webPage = new WebView();
>>              final WebEngine webEngine = webPage.getEngine();
>>              printButton.setOnAction(new EventHandler<ActionEvent>() {
>>                  @Override public void handle(ActionEvent e) {
>>                      String html="<html dir=\"ltr\"><head>\n" +
>>     " <meta http-equiv=\"content-type\" content=\"text/html; ">\n" +
>>     "</head>\n" +
>>     "<body contenteditable=\"true\">\n" +
>>     " \n" +
>>     " \n" +
>>     " \n" +
>>     "\n" +
>>     "\n" +
>>     "<p align=\"justify\" style=\"text-align: left; margin-bottom: 0in; line-height: 150%;margin-bottom: 0in; line-height: 100%\">\n" +
>>     "<font style=\"font-size: 14pt\" face=\"serif\">Стали бы Вы на пути\n" +
>>     "грабителя грузового вагона?</font></p><p align=\"justify\" style=\"text-align: left; margin-bottom: 0in; line-height: 150%;\"><font style=\"font-size: 14pt\" face=\"serif\">Выберите ответ:</font></p>\n" +
>>     "\n" +
>>     "<form name='mainForm' style='margin-top:15px;'>\n" +
>>     "<input type='radio' name='answer' value='641' ><font size='4'>Полностью согласен, полное «Да»</font><br>\n" +
>>     "<input type='radio' name='answer' value='642' ><font size='4'>Больше «Да», чем «Нет»</font><br>\n" +
>>     "<input type='radio' name='answer' value='643' ><font size='4'>Ни «Да», ни «Нет», нечто среднее</font><br>\n" +
>>     "<input type='radio' name='answer' value='644' ><font size='4'>Больше «Нет», чем «Да»</font><br>\n" +
>>     "<input type='radio' name='answer' value='645' ><font size='4'>Полное «Нет»</font><br>\n" +
>>     "</form><script type=\"text/javascript\">\n" +
>>     "function getAnswerId(){\n" +
>>     " var elements = document.getElementsByName(\"answer\");\n" +
>>     " for (var i=0, len=elements.length; i<len; ++i) {\n" +
>>     " if (elements[i].checked) return elements[i].value;\n" +
>>     " }\n" +
>>     " return null;\n" +
>>     "}\n" +
>>     "</script></body></html>";
>>                      html+=count;
>>                      count++;
>>                      webEngine.loadContent(html);
>>                  }
>>              });
>>              HBox hbox = new HBox();
>>              hbox.getChildren().addAll(printButton);
>>              BorderPane borderPane = new BorderPane();
>>              borderPane.setTop(hbox);
>>              borderPane.setCenter(webPage);
>>              Scene scene = new Scene(borderPane, 300, 250);
>>              primaryStage.setTitle("WebView radio bugs");
>>              primaryStage.setScene(scene);
>>               primaryStage.show();
>>          }
>>     }
>>
>>     And the second class
>>
>>     public class JavaApplication {
>>          /**
>>           * @param args the command line arguments
>>           */
>>          public static void main(String[] args) {
>>              Application.launch(JavaFXApplication.class, args);
>>          }
>>     }
>>
>>     After that I click Print button. After every clicking count++. Compiled openjdk 1.8.45. Tested winxp oracle 1.8.40, centos71,ubuntu 12 oracle 1.8.60. The image from xp. 29 clicks after that no radios. Moved mouse over 1,3,5: . The result is on the image I attached. Please, answer.
>>
>>
>
>



More information about the openjfx-dev mailing list