有许多与JavaFX自定义标题栏相关的教程或问题
我创建了一个这样的自定义标题栏:
我可以移动窗口但是现在(因为窗口是UNDECORATED我不能应用任何本机Windows功能,Aero shake如果你摇动窗口,所有其他应用程序都减少了)
有自定义标题栏管理此类功能的解决方案吗?
这是我的代码:
start.java:
@Override
public void start(Stage primaryStage) throws Exception{
setPrimaryStage(primaryStage);
prStage = primaryStage;
Parent root = FXMLLoader.load(getClass().getResource("../gui/main.fxml"));
prStage.initStyle(StageStyle.UNDECORATED);
//prStage.setOpacity(0.75);
Scene scene = new Scene(root, 640, 360);
prStage.setScene(scene);
prStage.getIcons().add(new Image("/resource/Images/icon.png"));
scene.getStylesheets().add(getClass().getResource("..//gui/css/NewUICSS.css").toExternalForm());
prStage.show();
}
Run Code Online (Sandbox Code Playgroud)
主控制器:
public class NewUIController {
private static double xOffset = 0;
private static double yOffset = 0;
public void initialize() {
moveBar.setOnMousePressed(this::mousePressed);
moveBar.setOnMouseDragged(this::mouseDrag);
moveBar.setOnMouseReleased(this::mouseRealease);
mnuBar.setOnMousePressed(this::mousePressed);
mnuBar.setOnMouseDragged(this::mouseDrag);
mnuBar.setOnMouseReleased(this::mouseRealease);
}
private void mouseDrag(MouseEvent event){
MainJavaFx.getPrimaryStage().setX(event.getScreenX() - xOffset);
MainJavaFx.getPrimaryStage().setY(event.getScreenY() - yOffset);
} …Run Code Online (Sandbox Code Playgroud) 我在学校有一些Ocaml课程,为了练习,我们必须编写函数长度.
我的老师向我们展示了Xavier Leroy如何编写他的功能:
let rec length_aux len = function
[] -> len
| a::l -> length_aux (len + 1) l
let length l = length_aux 0 l
Run Code Online (Sandbox Code Playgroud)
当我的老师向我们解释他为什么这样做长度函数时,他说他不知道为什么Xavier Leroy没有写:
let rec length_aux len = function
a::l -> length_aux (len + 1) l
| [] -> len
let length l = length_aux 0 l
Run Code Online (Sandbox Code Playgroud)
...为了使它更快(因为大多数情况下列表是非空的).
所以如果有人知道为什么第二个并不比第一个好,你能回答我吗?
谢谢.
我需要增加a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒx时间,但是我觉得这很丑。所以我尝试了,\p{L}但是在JavaScript中不起作用。
任何的想法 ?
我的实际正则表达式: [a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ][a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ' ,"-]*[a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ'",]+
我想要一个类似的东西:([\p{L}][\p{L}' ,"-]*[\p{L}'",]+或小于实际表达式)
我有一个闪屏:
我需要有进度条的动画(Indeterminate),但它不起作用.
这可能是因为我的线程在我的initilize方法中运行.
public class splashscreenController implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
new SplashScreen().run();
}
class SplashScreen extends Task {
@Override
public Object call() {
Platform.runLater(new Runnable() {
@Override
public void run()
Parent root = null;
try {
Thread.sleep(3000);
root = FXMLLoader.load(getClass().getResource("../gui/NewUI.fxml"));
} catch (InterruptedException | IOException e) {
e.printStackTrace();
}
Stage stage = new Stage();
stage.initStyle(StageStyle.UNDECORATED);
assert root != null;
Scene scene = new Scene(root, 1280, 720);
stage.setScene(scene);
stage.show();
MainJavaFx.setPrimaryStage(stage);
((Stage) panParent.getScene().getWindow()).close();
}
}); …Run Code Online (Sandbox Code Playgroud) java ×2
javafx ×2
algorithm ×1
javafx-8 ×1
javascript ×1
ocaml ×1
optimization ×1
recursion ×1
regex ×1
titlebar ×1