我正在尝试学习javafx。在我的应用程序中,我决定检查一些内容,因此我决定只有在输入“abcd”时才能退出全屏。但我无法让它发挥作用。我已经尝试了所有可能的组合,但仍然无法退出全屏。
package org.example.first;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.input.KeyCombination;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import java.io.IOException;
public class HelloApplication extends Application {
@Override
public void start(Stage stage) throws IOException {
Group root = new Group();
Scene scene = new Scene(root, Color.BLACK);
Image icon = new Image("file.png");
stage.setTitle("MyApplication");
stage.setScene(scene);
stage.getIcons().add(icon);
stage.setFullScreen(true);
stage.setFullScreenExitHint("To exit fullscreen, write abcd");
stage.setFullScreenExitKeyCombination(KeyCombination.valueOf("abcd"));
stage.show();
}
public static void main(String[] args) {
launch();
}
}
这是我写的代码。我试图让它工作,但我不知道它出了什么问题。 JavaFX 17 和 Java 18
使用“abcd”等组合键是不可能实现这一点的。
KeyCombination
的文档:
组合键由一个主键和一组修饰键组成。主键可以通过其键码-KeyCodeCombination 或键字符-KeyCharacterCombination 来指定。修饰键是 Shift、Control、Alt、Meta 或快捷键,可以定义为 DOWN、UP 或 ANY。
“a”、“b”、“c”和“d”都是主键,违反了 a 主键 限制。