2012-04-05 29 views
1

Ich bin neu bei JavaFX und ich schreibe eine einfache Login-Anwendung, die ich in meinem Webbrowser starten möchte.JavaFX Browser Breite und Höhe

Wie bekomme ich die Breite und Höhe des Webbrowsers? Gibt es ein Objekt für diesen Zweck oder eine Methode, würde ich gerne die Größe der Anwendung ändern können, wenn die Größe des Browsers geändert wird.

Vielen Dank für Ihre Antworten und Hilfe. :)

Antwort

2

Ich beantwortete eine ähnliche Frage in einem Oracle forum post. Ich werde die Antwort hier reproduzieren.

Die Antwort ist, eine prozentuale Höhe und Breite in der eingebetteten Anwendung festzulegen.

Ist es möglich, die Bühnengröße dynamisch zu ändern, wenn der Benutzer die Größe des Browsers geändert hat?

Ja, finden Sie in die Ensemble sample application Ensemble source code in dem JavaFX-Proben-Paket.

Das Bereitstellungs-Toolkit kann derzeit nicht die richtige HTML-Datei für Sie erstellen (siehe RT-19247 "javafxpackager -deploy akzeptiert keine prozentualen Höhen und Breiten").

Allerdings ist die Bearbeitung der HTML-Datei, um die erforderlichen Änderungen nach dem Ausführen des Deployment-Tool zu machen, trivial und wenn Sie das Ensemble-Build-Skript betrachten, können Sie sehen, dass die Änderungen auch automatisiert werden können.

Hier ist ein Auszug aus der Ensemble-Beispiel-App, die zeigt, wie dies zu erreichen ist.

<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

danke sehr :) ich dachte, dass die lösung inisde der java code aber nicht sein musste, dass es direkt im code für den browser hätte sein können :) – Reshi

Verwandte Themen