Переглянути джерело

Update to OpenJFX 17 (#1809)

* update to openjfx 17.0.0.1
* use new javafx API instead of AWT
Sebastian Stenzel 3 роки тому
батько
коміт
90bceb0f68

+ 1 - 1
pom.xml

@@ -37,7 +37,7 @@
 		<cryptomator.webdav.version>1.2.6</cryptomator.webdav.version>
 
 		<!-- 3rd party dependencies -->
-		<javafx.version>16</javafx.version>
+		<javafx.version>17.0.0.1</javafx.version>
 		<commons-lang3.version>3.12.0</commons-lang3.version>
 		<jwt.version>3.18.1</jwt.version>
 		<easybind.version>2.2</easybind.version>

+ 2 - 3
src/main/java/org/cryptomator/ui/controls/SecurePasswordField.java

@@ -10,6 +10,7 @@ package org.cryptomator.ui.controls;
 
 import com.google.common.base.Strings;
 
+import javafx.application.Platform;
 import javafx.beans.NamedArg;
 import javafx.beans.Observable;
 import javafx.beans.property.BooleanProperty;
@@ -27,7 +28,6 @@ import javafx.scene.input.KeyCodeCombination;
 import javafx.scene.input.KeyCombination;
 import javafx.scene.input.KeyEvent;
 import javafx.scene.input.TransferMode;
-import java.awt.Toolkit;
 import java.nio.CharBuffer;
 import java.text.Normalizer;
 import java.text.Normalizer.Form;
@@ -123,8 +123,7 @@ public class SecurePasswordField extends TextField {
 	}
 
 	private void updateCapsLocked() {
-		//TODO: fixed in JavaFX 17. AWT code needed until update (see https://bugs.openjdk.java.net/browse/JDK-8259680)
-		capsLocked.set(isFocused() && Toolkit.getDefaultToolkit().getLockingKeyState(java.awt.event.KeyEvent.VK_CAPS_LOCK));
+		capsLocked.set(Platform.isKeyLocked(KeyCode.CAPS).orElse(false));
 	}
 
 	private void updateContainingNonPrintableChars() {