Я ответил на аналогичный вопрос по этому вопросу в 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>
спасибо большое :) Я думал, что решение должно быть inisde java-кода, но не так, чтобы оно могло быть непосредственно в коде для браузера :) – Reshi