<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鍵盤上的舞者

    像寫情書一樣Coding...
    隨筆 - 20, 文章 - 0, 評論 - 15, 引用 - 0
    數據加載中……

    JavaFX實現一個簡單的模態窗口

    JavaFX直到目前最新的1.2.1版本里沒有提供模態窗口或著對話框,我在項目里通過擴展Control自己實現了一個簡單的模態窗口,控件由2個類Window.fx和WindowSkin.fx組成,在WindowSkin里實現了Skin的抽象方法contains,在模態下始終返回true。

    下面是控件的源碼和一個演示demo。

    Window.fx
    package org.jqueen.fx.scene.control;

    import javafx.scene.Node;
    import javafx.scene.image.Image;
    import javafx.scene.control.Control;

    /**
     * 
    @author Leon Chen
     
    */
    public class Window extends Control {

        
    public var modal: Boolean;
        
    public var background: Image;
        
    public var content: Node[];

        override 
    protected function create(): Node {
            skin 
    = WindowSkin {};
            
    super.create();
            }
    }

    WindowSkin.fx
    package org.jqueen.fx.scene.control;

    import javafx.scene.control.Skin;
    import javafx.scene.Group;
    import javafx.scene.image.ImageView;

    /**
     * 
    @author Leon Chen
     
    */
    package class WindowSkin extends Skin {

        def windowControl 
    = bind control as Window;
        def bounds : Bounds = bind windowControl.boundsInLocal;
        def background 
    = ImageView {
                    image: bind windowControl.background
                };
        def content 
    = bind windowControl.content;
        
        init {
            node 
    = Group {
                content: bind[background, content]
            }
        }

        override 
    public function intersects(localX: Number, localY: Number, localWidth: Number, localHeight: Number): Boolean {
            
    return bounds.intersects(localX, localY, localWidth, localHeight);
        }

        override 
    public function contains(localX: Number, localY: Number): Boolean {
            
    if (windowControl.modal) {
                
    return true;
                } 
    else {
                
    return bounds.contains(localX, localY);
                }
        }
    }



    點擊圖片可運行程序,非模態時背景可以監聽到鼠標事件。

    posted on 2009-12-19 02:45 陳維 閱讀(1958) 評論(0)  編輯  收藏 所屬分類: JavaFX

    主站蜘蛛池模板: 日本三级在线观看免费| 一区二区三区免费电影| 最近中文字幕免费完整| 亚洲一区二区三区国产精华液| 最近免费中文在线视频| 亚洲А∨精品天堂在线| 久久亚洲中文字幕无码| 国产午夜鲁丝片AV无码免费| 99亚洲男女激情在线观看| 国产精品免费播放| 亚洲成a人片7777| 久久福利资源网站免费看| 亚洲伦理中文字幕| 日本高清不卡aⅴ免费网站| 亚洲va中文字幕无码久久不卡 | 一级做a爰片久久毛片免费陪| 国产免费久久精品| 免费无码AV一区二区| 久久久久一级精品亚洲国产成人综合AV区 | 最好看最新的中文字幕免费 | 亚洲精品视频在线看| 亚洲国产成人资源在线软件| 成人无码精品1区2区3区免费看| 亚洲精品无码不卡在线播HE | 国产一二三四区乱码免费 | 久久亚洲精品专区蓝色区| 香蕉高清免费永久在线视频| 色吊丝免费观看网站| 国产综合亚洲专区在线| 色噜噜狠狠色综合免费视频| 中国亚洲女人69内射少妇| 99久久国产免费-99久久国产免费| 中文字幕在线观看亚洲视频| 亚洲AV无码乱码在线观看牲色| 免费无码H肉动漫在线观看麻豆 | 免费无码婬片aaa直播表情| 久久精品国产亚洲AV网站| 午夜私人影院免费体验区| 99re6在线精品免费观看| 久久久久亚洲av毛片大| 91久久精品国产免费一区|