小编cha*_*Lgn的帖子

使用自定义标题栏管理Windows Aero摇晃功能

有许多与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)

java javafx titlebar

8
推荐指数
1
解决办法
144
查看次数

在递归函数中重新排序匹配子句

我在学校有一些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)

...为了使它更快(因为大多数情况下列表是非空的).

所以如果有人知道为什么第二个并不比第一个好,你能回答我吗?

谢谢.

algorithm optimization recursion ocaml

5
推荐指数
1
解决办法
105
查看次数

JavaScript正则表达式没有\ p {L}吗?在JS正则表达式中使用Unicode

我需要增加a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒx时间,但是我觉得这很丑。所以我尝试了,\p{L}但是在JavaScript中不起作用。

任何的想法 ?

我的实际正则表达式: [a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ][a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ' ,"-]*[a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ'",]+

我想要一个类似的东西:([\p{L}][\p{L}' ,"-]*[\p{L}'",]+或小于实际表达式)

javascript regex regular-language

5
推荐指数
1
解决办法
1870
查看次数

JavaFX:在splashScreen中使用Indeterminate Progressbar

我有一个闪屏:

闪屏 我需要有进度条的动画(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 javafx splash-screen javafx-8

0
推荐指数
1
解决办法
61
查看次数