2012-04-05 3 views
1

Я новичок в JavaFX, и я пишу простое приложение для входа, которое я хотел бы запустить в своем веб-браузере.JavaFX получить ширину и высоту браузера

Как получить ширину и высоту веб-браузеров? Есть ли какой-то объект для этой цели или метод, который я хотел бы изменить размер приложения при изменении размера браузера.

Большое спасибо за ваши ответы и помощь. :)

ответ

2

Я ответил на аналогичный вопрос по этому вопросу в Oracle forum post. Я воспроизведу ответ здесь.

Ответ заключается в том, чтобы установить процентную высоту и ширину встроенного приложения.

Возможно ли изменение размера сцены динамически, когда пользователь изменил размер браузера?

Да, см Ensemble sample application Ensemble source code в пакете JavaFX образцов.

Инструмент развертывания в настоящее время не может создать для вас правильный HTML-файл (см. RT-19247 «javafxpackager -deploy не принимает высоты и ширину процента»).

Однако редактирование html-файла для внесения необходимых изменений после запуска инструмента развертывания тривиально, и если вы посмотрите на скрипт сборки ансамбля ant, вы увидите, что изменения также могут быть автоматизированы в ant.

Вот выдержка из примера приложения Ensemble, демонстрирующего, как это сделать.

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JavaFX 2.0 - Ensemble</title> 
    <SCRIPT src="http://java.com/js/dtjava.js"></SCRIPT> 
    <script> 
    function javafxEmbed_ensemble() { 
     dtjava.embed(
     { 
      id : 'ensemble', 
      url : 'Ensemble.jnlp', 
      placeholder : 'javafx-app-placeholder', 
      width : '100%', 
      height : '100%', 
      jnlp_content : 'PD94b...o8L2pubHA+DQo=' 
     }, 
     { 
      javafx : '2.0+' 
     }, 
     {} 
     ); 
    } 
    <!-- Embed FX application into web page once page is loaded --> 
    dtjava.addOnloadCallback(javafxEmbed_ensemble); 
    </script> 
    <style> 
    html, body, #javafx-app-placeholder, #ensemble-app { 
     margin: 0; 
     overflow: hidden; 
     padding: 0; 
     width: 100%; 
     height: 100%; 
    } 
    </style> 
</head> 
<body><div id="javafx-app-placeholder"></div></body> 
</html> 
+0

спасибо большое :) Я думал, что решение должно быть inisde java-кода, но не так, чтобы оно могло быть непосредственно в коде для браузера :) – Reshi

Смежные вопросы