2015-04-06 15 views
7

Ich verwende JRE 8_40 unter OSX für eine JavaFX-Anwendung, die WebView verwendet, um ein mit AngularJS und Bootstrap geschriebenes HTML-Formular anzuzeigen. Ich habe den Formularübergabeknopf gefunden, der AngularJS "ng-disabled" verwendet und class = "btn btn-success btn-lg" wird im deaktivierten Zustand ausgeblendet. Wenn die Schaltfläche in den aktivierten Status wechselt, wird die Schaltfläche korrekt angezeigt.JavaFX OSX WebView CSS-Opazität funktioniert nicht

Ich habe das Problem auf die Opazität CSS-Einstellung für die Bootstrap .btn.disabled Klasse eingegrenzt.

Wenn ich den folgenden Stil auf die Schaltfläche nach dem Bootstrap CSS haben, wird die Schaltfläche nicht

<input type="button" value="TEST" style="opacity: .65"> 

Die Opazität Stil auf der gleichen Version der JRE auf Windows funktioniert korrekt angezeigt.

Ist in der JavaFX-Anwendung unter OSX eine Anzeigeeinstellung erforderlich?

Antwort

0

Ich habe keine Probleme mit Transparenz, habe ich versucht, die folgenden auf OSX 10.10.4 mit JDK 1.8_51:

public class JavaFXTest extends Application { 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     primaryStage.setTitle("Transparency Test"); 

     BorderPane content = new BorderPane(); 
     WebView webView = new WebView(); 
     WebEngine webEngine = webView.getEngine(); 

     URL url = getClass().getResource("/transparent.html"); 
     webEngine.load(url.toExternalForm()); 

     content.setCenter(webView); 
     primaryStage.setScene(new Scene(content, 400, 300)); 
     primaryStage.show(); 
    } 

der Datei transparent.html ist die folgende:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title></title> 
</head> 
<body> 
    <h2 style="opacity: 1">transparency test 1</h2> 
    <h2 style="opacity: .65">transparency test 0.65</h2> 
    <h2 style="opacity: 0.33">transparency test 0.33</h2> 
    <form> 
     <input type="button" value="1" style="opacity: 1"> 
     <input type="button" value="0.65" style="opacity: .65"> 
     <input type="button" value="0.33" style="opacity: .33"> 
    </form> 
    </body> 
</html> 

Das Programm zeigt das folgende WebView:

screenshot of program

Ich habe nicht mit 1.8_40 versucht, konnten Sie auf die neueste Java-Version aktualisieren?

+0

Ich habe versucht, Ihren Code mit meinem Netbeans-Projekt und es funktioniert nicht für mich. Wenn ich meine Anwendung starte, sehe ich nur "Transparenz Test 1" und Button "1". Ich habe meine jdk zu Java "1.8.0_51" aktualisiert und mein Mac hat Version OSX 10.10.4. Ich habe sichergestellt, dass meine kompilierte JAR-Datei mit der neuesten Version ausgeführt wird, indem Sie der Java-Programmdatei den vollständigen Pfad in der Befehlszeile angeben. – autowired

+0

Seltsam. Ich werde es nächste Woche auf einer anderen Maschine versuchen, wenn ich aus meinem Urlaub zurück bin. –

+0

Ich habe vor einiger Zeit auch ein Ticket mit openjdk geöffnet [link] (https://bugs.openjdk.java.net/browse/JDK-8087369). Die Historie des Tickets zeigt, dass das Problem reproduziert wurde und Java 9 für eine Fehlerbehebung verwendet wurde. Jetzt wird gemeldet, dass das Problem mit 10.9.4 nicht reproduziert werden kann. Ist das eher ein OSX-Problem? Ich benutze ein Macbook Pro. – autowired

0

Ich hatte genau das gleiche Problem mit "Opazität", das ist, was für mich gearbeitet hat.

"rgba(r,g,b,a)" 
Verwandte Themen