<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
    數(shù)據(jù)加載中……

    JavaFX實現(xiàn)一個簡單的模態(tài)窗口

    JavaFX直到目前最新的1.2.1版本里沒有提供模態(tài)窗口或著對話框,我在項目里通過擴展Control自己實現(xiàn)了一個簡單的模態(tài)窗口,控件由2個類Window.fx和WindowSkin.fx組成,在WindowSkin里實現(xiàn)了Skin的抽象方法contains,在模態(tài)下始終返回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);
                }
        }
    }



    點擊圖片可運行程序,非模態(tài)時背景可以監(jiān)聽到鼠標事件。

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

    主站蜘蛛池模板: 日韩亚洲人成在线综合日本| 亚洲一区二区三区AV无码| 亚洲第一香蕉视频| 最近中文字幕电影大全免费版| 精品亚洲成a人片在线观看少妇| 一区二区三区福利视频免费观看| 亚洲国产成人片在线观看| 成在人线av无码免费高潮喷水 | 最好看的中文字幕2019免费| 亚洲AV本道一区二区三区四区| 免费91麻豆精品国产自产在线观看| 亚洲AV无码精品色午夜果冻不卡 | 亚洲国产乱码最新视频| 成人超污免费网站在线看| 亚洲精品无码mⅴ在线观看| 日韩免费观看的一级毛片| 青青青视频免费观看| 亚洲av综合avav中文| 成人免费的性色视频| 含羞草国产亚洲精品岁国产精品| yy6080久久亚洲精品| 免费观看的毛片大全 | 亚洲人av高清无码| 啊v在线免费观看| 免费观看成人久久网免费观看| 亚洲最新黄色网址| 在线观着免费观看国产黄| 成人无码WWW免费视频| 在线综合亚洲中文精品| 俄罗斯极品美女毛片免费播放| 成全动漫视频在线观看免费高清版下载| 1区1区3区4区产品亚洲| 免费高清av一区二区三区| 成人免费乱码大片A毛片| 亚洲码一区二区三区| 四只虎免费永久观看| 日韩内射激情视频在线播放免费 | 亚洲国产成人精品电影| 免费一级一片一毛片| 24小时日本韩国高清免费| 深夜福利在线免费观看|