美文网首页
Note.FO,第六天,Beta版本上线

Note.FO,第六天,Beta版本上线

作者: 这个星球好奇怪 | 来源:发表于2017-06-23 15:28 被阅读0次

    第六天 2014年10月7号

    版本:1.0.4.DEV
    这次主要是解决一些比较麻烦的问题,并没有最新的功能添加

    关于编辑器与页面同步的问题

    1. 重新实现了编辑器与页面同步代码,虽然 JavaFX 没有释放接口,但通过一些办法还是可以拿到想要的数据
    2. 对于 WebView 而言,需要通过调用 Javascript 接口执行获得页面实际高度
    3. 对于 TextArea 而言,其结构比较复杂,通过遍历子节点的同时还要判断子节点的类型,确定后才能拿出 ScrollPane,而 ScrollPane ,也需要拿出 Content 之后才能精确拿到高度,以便计算同步高度
    4. 这次解决了这个问题, 相信会带来比较好的同步视图体验

    WebView的实际页面高度

    private WebView web;
    
    /**
     * 对于Web类型的高度而言,主要考虑加载成功时的计算
     */
    public void updateScrollHeight() {
        Object result = null;
        try {
            result = engine.executeScript("(function(){return Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight);})();");
        }catch(JSException e){
        }
        
        if (result == null) {
            scrollHeight = web.getHeight();
            return ;
        }
        scrollHeight = Double.parseDouble(result.toString());
    }
    

    TextArea的实际内容高度

    private TextArea input;
    
    /**
     * 更新可视高度
     */
    public void updateScrollHeight() {
        double height = -1;
        ObservableList<Node> list = input.getChildrenUnmodifiable();
        if(list.isEmpty()) height = input.getHeight();
        for(Node node : list){
            if(node instanceof ScrollPane) {
                ScrollPane pane = (ScrollPane) node;
                Region content = (Region) pane.getContent();
                height = content.getHeight();
                break;
            }
        }
        this.scrollHeight = height < 0 ? input.getHeight() : height;
    }
    

    关于CTRL+D删除行的光标问题

    1. 之前使用 CTRL+D 时,光标向上移了一位,导致体验变差
    2. 这次效果与 EclipseCTRL+D 的功能相同体验

    添加了CTRL+P预览命令

    1. 添加预览,并不执行保存

    相关文章

      网友评论

          本文标题:Note.FO,第六天,Beta版本上线

          本文链接:https://www.haomeiwen.com/subject/oiuccxtx.html