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

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

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

    云下的天空

    堅(jiān)持 隨心而動(dòng) 走自己的路

     

    2011年6月5日

    訪問控制符

    1.訪問修飾符(access modifier)

    ①public(公共的):被public所修飾屬性和方法可以被所有類訪問.

    ②protected(受保護(hù)的):被protected所修飾的屬性和方法可以在類的內(nèi)部,相同包以及該類的子類所訪問(可以被子類所繼承下來).

    ③private(私有的):被private所修飾的屬性和方法只能在該類內(nèi)部使用.

    ④默認(rèn)的(不加任何訪問修飾符):在類內(nèi)部可以訪問,以及相同包下面的類使用.

    posted @ 2011-07-02 23:38 天空布藍(lán) 閱讀(369) | 評論 (0)編輯 收藏

    ORACLE TRUNC()函數(shù)



    oracle trunc()函數(shù)的用法

    1.TRUNC(for dates)
    TRUNC函數(shù)為指定元素而截去的日期值。
    其具體的語法格式如下:
    TRUNC(date[,fmt])
    其中:
    date 一個(gè)日期值
    fmt 日期格式,該日期將由指定的元素格式所截去。忽略它則由最近的日期截去

    2.TRUNC(for number)
    TRUNC函數(shù)返回處理后的數(shù)值,其工作機(jī)制與ROUND函數(shù)極為類似,只是該函數(shù)不對指定小數(shù)前或后的部分做相應(yīng)舍入選擇處理,而統(tǒng)統(tǒng)截去。
    其具體的語法格式如下
    TRUNC(number[,decimals])
    其中:
    number 待做截取處理的數(shù)值
    decimals 指明需保留小數(shù)點(diǎn)后面的位數(shù)。可選項(xiàng),忽略它則截去所有的小數(shù)部分
    下面是該函數(shù)的使用情況:
    TRUNC(89.985,2)=89.98
    TRUNC(89.985)=89
    TRUNC(89.985,-1)=80
    注意:第二個(gè)參數(shù)可以為負(fù)數(shù),表示為小數(shù)點(diǎn)左邊指定位數(shù)后面的部分截去,即均以0記。

    {


    format為day時(shí),只精確到天,而不管幾年幾月只要是符合的day就可以了,要想確定一年中的某月的某一天就要用trunc(date,''dd'').

    通俗的說吧,format為年時(shí),精確到-----年

    為月時(shí),精確到------年,月(不管哪年,只要是相同的月和哪天)
    為日時(shí),精確到------年,月,日(不管哪年的哪月,只關(guān)心是哪天)


    }

    posted @ 2011-06-30 21:34 天空布藍(lán) 閱讀(333) | 評論 (0)編輯 收藏

    Oracle字符串連接的方法

    和其他數(shù)據(jù)庫系統(tǒng)類似,Oracle字符串連接使用“||”進(jìn)行字符串拼接,其使用方式和MSSQLServer中的加號(hào)“+”一樣。

    比如執(zhí)行下面的SQL語句:

    SELECT '工號(hào)為'||FNumber||'的員工姓名為'||FName FROM T_Employee
    WHERE FName IS NOT NULL

    除了“||”,Oracle還支持使用CONCAT()函數(shù)進(jìn)行字符串拼接,比如執(zhí)行下面的SQL語句:
    SELECT CONCAT('工號(hào):',FNumber) FROM T_Employee

    如果CONCAT中連接的值不是字符串,Oracle會(huì)嘗試將其轉(zhuǎn)換為字符串,比如執(zhí)行下面的SQL語句:

    SELECT CONCAT('年齡:',FAge) FROM T_Employee

    與MYSQL的CONCAT()函數(shù)不同,Oracle的CONCAT()函數(shù)只支持兩個(gè)參數(shù),不支持兩個(gè)以上字符串的拼接,比如下面的SQL語句在Oracle中是錯(cuò)誤的:
    SELECT CONCAT('工號(hào)為',FNumber,'的員工姓名為',FName) FROM T_Employee
    WHERE FName IS NOT NULL
    運(yùn)行以后Oracle會(huì)報(bào)出下面的錯(cuò)誤信息:
    參數(shù)個(gè)數(shù)無效

    如果要進(jìn)行多個(gè)字符串的拼接的話,可以使用多個(gè)CONCAT()函數(shù)嵌套使用,上面的SQL可以如下改寫:
    SELECT CONCAT(CONCAT(CONCAT('工號(hào)為',FNumber),'的員工姓名為'),FName) FROM
    T_Employee
    WHERE FName IS NOT NULL

    posted @ 2011-06-27 21:10 天空布藍(lán) 閱讀(47990) | 評論 (0)編輯 收藏

    (轉(zhuǎn)) java環(huán)境變量配置

      

    windows xp下配置JDK環(huán)境變量:
          1.安裝JDK,安裝過程中可以自定義安裝目錄等信息,例如我們選擇安裝目錄為D:\java\jdk1.5.0_08;

      2.安裝完成后,右擊“我的電腦”,點(diǎn)擊“屬性”;

          3.選擇“高級(jí)”選項(xiàng)卡,點(diǎn)擊“環(huán)境變量”;

          4.在“系統(tǒng)變量”中,設(shè)置3項(xiàng)屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點(diǎn)擊“編輯”,不存在則點(diǎn)擊“新建”;

          5.JAVA_HOME指明JDK安裝路徑,就是剛才安裝時(shí)所選擇的路徑D:\java\jdk1.5.0_08,此路徑下包括lib,bin,jre等文件夾(此變量最好設(shè)置,因?yàn)橐院筮\(yùn)行tomcat,eclipse等都需要依*此變量);
         

           Path使得系統(tǒng)可以在任何路徑下識(shí)別java命令,設(shè)為:

    %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

        CLASSPATH為java加載類(class or lib)路徑,只有類在classpath中,java命令才能識(shí)別,設(shè)為:

    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示當(dāng)前路徑)

      %JAVA_HOME%就是引用前面指定的JAVA_HOME;

           6.“開始”->;“運(yùn)行”,鍵入“cmd”;

           7.鍵入命令“java -version”,“java”,“javac”幾個(gè)命令,出現(xiàn)畫面,說明環(huán)境變量配置成功;

           8.好了,打完收工。下面開始你的第一個(gè)java程序吧。

    下面講講java幾個(gè)環(huán)境變量的含義和linux下的配置方法:

    通常,我們需要設(shè)置三個(gè)環(huán)境變量:JAVA_HOME、PATH 和 CLASSPATH。

    JAVA_HOME:該環(huán)境變量的值就是 Java 所在的目錄,一些 Java 版的軟件和一些 Java 的工具需要用到該變量,設(shè)置 PATH 和 CLASSPATH 的時(shí)候,也可以使用該變量以方便設(shè)置。

    PATH:指定一個(gè)路徑列表,用于搜索可執(zhí)行文件的。執(zhí)行一個(gè)可執(zhí)行文件時(shí),如果該文件不能在當(dāng)前路徑下找到,則依次尋找 PATH 中的每一個(gè)路徑,直至找到。或者找完 PATH 中的路徑也不能找到,則報(bào)錯(cuò)。Java 的編譯命令 (javac),執(zhí)行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安裝路徑下的 bin 目錄中。因此我們應(yīng)該將該路徑添加到 PATH 變量中。

    CLASSPATH:也指定一個(gè)路徑列表,是用于搜索 Java 編譯或者運(yùn)行時(shí)需要用到的類。在 CLASSPATH 列表中除了可以包含路徑外,還可以包含 .jar 文件。Java 查找類時(shí)會(huì)把這個(gè) .jar 文件當(dāng)作一個(gè)目錄來進(jìn)行查找。通常,我們需要把 JDK 安裝路徑下的 jre\lib\rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。

    PATH 和 CLASSPATH 都指定路徑列表,列表中的各項(xiàng) (即各個(gè)路徑) 之間使用分隔符分隔。在 Windows 下,分隔符是分號(hào) (;),而在 Linux 下,分隔符是冒號(hào) (:)。

    下面分別說明三個(gè)環(huán)境變量在 Windows 和 Linux 下如何設(shè)置,不過在此之前,我們需要做個(gè)假設(shè)。假設(shè) JDK 在 Windows 下的安裝路徑是 C:\jdk\,在 Linux 下的安裝路徑是 /usr/local/jdk/。那么,安裝后的 JDK 至少會(huì)包括如下內(nèi)容:

    C:\jdk (/usr/local/jdk)
    |-- bin
    |-- demo
    |-- include
    |-- jre
    | |-- bin
    | `-- lib
    `-- lib

    ***** 在 Windows 下設(shè)置

    Windows 下使用 set 命令設(shè)置環(huán)境變量,為了使每一次啟動(dòng)計(jì)算機(jī)都設(shè)置這些環(huán)境變量,應(yīng)該在系統(tǒng)盤根目錄下的 autoexec.bat 文件中進(jìn)行設(shè)置,如:

    set JAVA_HOME=C:\jdk
    set PATH=%JAVA_HOME%\bin;C:\Windows;C:\Windows\Command
    set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;.

    有些版本的 Windows 不能用 %變量名% 來替換環(huán)境變量的內(nèi)容,那么就只好直接寫 C:\jdk 而不是 %JAVA_HOME% 了。另外,C:\Windows 和 C:\Windows\Command 是 Windows 會(huì)自動(dòng)加入路徑的,所以可以從設(shè)置中去掉。如果在 autoexec.bat 中已經(jīng)設(shè)置了 PATH,那只需要將 %JAVA_HOME%\bin 加到原來設(shè)置 PATH 的那條語句中就行了。

    CLASSPATH 也可以根據(jù)需要設(shè)置或者加入其它的路徑,比如你想把自己寫的一些類放在 C:\java 中,就可以把 C:\java 也添加到 CLASSPATH 中去,set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;C:\java;.。

    注意,在 CLASSPATH 中包含了一個(gè)“當(dāng)前目錄 (.)”。包含了該目錄后,就可以到任意目錄下去執(zhí)行需要用到該目錄下某個(gè)類的 Java 程序,即使該路徑并未包含在 CLASSPATH 中也可以。原因很簡單:雖然沒有明確的把該路徑包含在 CLASSPATH 中,但 CLASSPATH 中的 “.” 在此時(shí)就代表了該路徑,如:

    假設(shè)在 C:\java 目錄下有可運(yùn)行的類 HelloJava.class,那么

    C:\> set CLASSPATH=C:\jdk\jre\lib\rt.jar;. // 設(shè)置 CLASSPATH 環(huán)境變量,注意最后有一個(gè) “.”
    C:\> cd java // 轉(zhuǎn)到 C:\java 目錄
    C:\java> java HelloJava // 運(yùn)行 HelloJava
    Hello, Java. // 運(yùn)行結(jié)果
    C:\java> _

    **** 在 Linux 下設(shè)置

    Linux 下使用“變量名=變量值”設(shè)置變量,并使用 export 命令將其導(dǎo)出為環(huán)境變量。為了使每一次登錄都自動(dòng)設(shè)置好這些變量,你需要在 ~/.bash_profile 里或者 ~./bashrc 里進(jìn)行設(shè)置,如

    export JAVA_HOME=/usr/local/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.

    設(shè)置 PATH 時(shí)用的 $JAVA_HOME 是指替換變量 JAVA_HOME 的值到 $JAVA_HOME 所在位置。如上句實(shí)際就是 export PATH=/usr/local/jdk/bin:$PATH。這句中 $PATH 也是同樣的作用,不過這里的 PATH 是指以前設(shè)置的 PATH 變量的值,而非本次設(shè)置 PATH 變量的值。

    注意,在 CLASSPATH 中包含了一個(gè)“當(dāng)前目錄 (.)”。包含了該目錄后,就可以到任意目錄下去執(zhí)行需要用到該目錄下某個(gè)類的 Java 程序,即使該路徑并未包含在 CLASSPATH 中也可以。原因很簡單:雖然沒有明確的把該路徑包含在 CLASSPATH 中,但 CLASSPATH 中的 “.” 在此時(shí)就代表了該路徑,例如

    假設(shè)在 /home/fancy/java 目錄下有可運(yùn)行的類 HelloJava.class,那么

    [fancy@matrix fancy]$ export CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:. // 設(shè)置 CLASSPATH,注意最后的“.”
    [fancy@matrix fancy]$ cd ~/java // 轉(zhuǎn)到 /home/fancy/java
    [fancy@matrix java]$ pwd // 顯示當(dāng)前目錄
    /home/fancy/java // 當(dāng)前目錄是 /home/fancy/java
    [fancy@matrix java]$ java HelloJava // 運(yùn)行 HelloJava
    Hello, Java // 運(yùn)行結(jié)果
    [fancy@matrix java]$ _

    ***** 實(shí)例分析

    只是操作系統(tǒng)不同,略有差別。

    兩個(gè)例子都提到一個(gè)“可運(yùn)行的類”,它是指包含了 public static void main(String[] args) 方法的類,這將在下一章 HelloJava 一節(jié)中詳述。例中的 CLASSPATH 均未包含 HelloJava.class 所在的目錄(C:\java, /home/fancy/java),但是均包含了當(dāng)前目錄 (.)。因此轉(zhuǎn)到包含 HelloJava.class 的目錄下去執(zhí)行 java HelloJava,在 Java 尋找到 CLASSPATH 中的“. (當(dāng)前目錄,C:\java, /home/fancy/java)”時(shí),找到了 HelloJava.class,運(yùn)行成功。

    posted @ 2011-06-24 23:15 天空布藍(lán) 閱讀(335) | 評論 (0)編輯 收藏

    (轉(zhuǎn)載)冒泡事件理解3

         摘要:    我花了一天的時(shí)間總算理解了冒泡事件  這篇文章給了我很大的幫助  原文鏈接:http://enboga.iteye.com/blog/2147808.2 事件機(jī)制的工作流程 8.2.1 關(guān)于事件流 目標(biāo)對象:派發(fā)事件的對象當(dāng)事件發(fā)生后生成一個(gè)攜帶數(shù)據(jù)的對象,然后檢查目標(biāo)對象是否存在顯示層中,并遍歷從根容器一直到目標(biāo)對象所在位置的所有...  閱讀全文

    posted @ 2011-06-05 22:29 天空布藍(lán) 閱讀(783) | 評論 (0)編輯 收藏

    (轉(zhuǎn)載)冒泡事件理解2

    1.

    項(xiàng)目 右鍵 新建 包

    右鍵單擊新建的包,新建 actionscript類

    代碼如下(代碼1)

    package btnEvents
    {
        import flash.events.Event;
        
        public class btnEvent1 extends Event
        {
            public static var EVENT_NAME:String="customEvent";

            //該事件所攜帶的數(shù)據(jù)
            public var EventData:String;        
            public function btnEvent1(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
            {
                super(type, bubbles, cancelable);
            }
        }
    }

     

    2.

    主MXML文件如下所示

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:Modules="Modules.*"
                   creationComplete="init()"
                   >

        <fx:Script>
            <![CDATA[
                import btnEvents.btnEvent1;
                private function init():void{
                    this.addEventListener(btnEvent1.EVENT_NAME,appCatchMyEvent,true);
                    this.panel1.addEventListener(btnEvent1.EVENT_NAME,panelCatchEvent,true);
                }
                private function sendEvent(flag:int):void{
                    var Event:btnEvent1=new btnEvent1(btnEvent1.EVENT_NAME);
                    if(flag == 1){
                        Event.EventData = "內(nèi)部按鈕";
                        btn1.dispatchEvent(Event);//將事件分派到事件流中
                    }else{
                        Event.EventData = "外部按鈕";
                        btn2.dispatchEvent(Event);//將事件分派到事件流中
                    }
                }
                private function appCatchMyEvent(par_event:btnEvent1):void{
                    label1.text += par_event.currentTarget.id+par_event.EventData;//currentTarget是傳播路徑上的當(dāng)前捕捉者
                }
                private function panelCatchEvent(par_event:btnEvent1):void{
                    label1.text += par_event.currentTarget.id+par_event.EventData;
                }
            ]]>
        </fx:Script>

        <fx:Declarations>
            <!-- 將非可視元素(例如服務(wù)、值對象)放在此處 -->
        </fx:Declarations>
        <s:Panel id="panel1" x="198" y="128" width="250" height="200">
            <s:Button click="sendEvent(1)" id="btn1" x="89" y="61" label="內(nèi)部BTN"/>
        </s:Panel>
        <s:Button id="btn2" click="sendEvent(2)" x="378" y="360" label="外部BTN"/>
        <s:Label id="label1" x="198" y="66" text="事件來自~~~~" width="189"/>

    </s:Application>

    3.

    運(yùn)行程序

    點(diǎn)擊“內(nèi)部BTN:

    結(jié)果如圖所示

    image

    大家可以看到
    事件是從外層容器到內(nèi)層容器依次執(zhí)行的

     

    4.

    刷新頁面

    點(diǎn)擊“外部BTN”

    結(jié)果如圖所示

    image

    因?yàn)槭录囊l(fā)者沒有在panl1中所以不會(huì)再觸發(fā)panel1的事件了

     

    以上說的都是非冒泡事件,事件的執(zhí)行順序是從外層容器到內(nèi)層容器執(zhí)行的

     

    5.

    如果要在事件冒泡階段捕捉事件

    創(chuàng)建事件的代碼為

    var Event:btnEvent1=new btnEvent1(btnEvent1.EVENT_NAME,true);//最后一個(gè)參數(shù)bubbles應(yīng)為true

    事件監(jiān)聽的代碼應(yīng)如下

    this.panel1.addEventListener(btnEvent1.EVENT_NAME,panelCatchEvent,false);//最后一個(gè)參數(shù)useCapture是false

    這樣設(shè)置后就是冒泡事件,事件的執(zhí)行順序是從內(nèi)層容器到外層容器執(zhí)行的

     

    6.

    如果即要捕捉非冒泡事件,又要捕捉冒泡事件

    那么

    創(chuàng)建事件的代碼為

    var Event:btnEvent1=new btnEvent1(btnEvent1.EVENT_NAME,true);//最后一個(gè)參數(shù)bubbles應(yīng)為true

    同時(shí),監(jiān)聽事件的代碼還要設(shè)置兩次

    this.panel1.addEventListener(btnEvent1.EVENT_NAME,panelCatchEvent,true);//非冒泡監(jiān)聽
    this.panel1.addEventListener(btnEvent1.EVENT_NAME,panelCatchEvent,false);//冒泡監(jiān)聽

    這樣設(shè)置之后,事件先從外部執(zhí)行到內(nèi)部,在從內(nèi)部執(zhí)行到外部 

    原文鏈接:http://www.cnblogs.com/liulun/archive/2010/11/23/1885053.html



    posted @ 2011-06-05 18:08 天空布藍(lán) 閱讀(418) | 評論 (0)編輯 收藏

    (轉(zhuǎn)載)冒泡事件理解

      原文鏈接:http://bbs.9ria.com/viewthread.php?tid=59522

    發(fā)生事件時(shí),該事件在事件流的三個(gè)階段中移動(dòng):
    捕獲階段,該階段從顯示列表層次結(jié)構(gòu)的頂部流動(dòng)到目標(biāo)節(jié)點(diǎn)之前的節(jié)點(diǎn);
    目標(biāo)階段,該階段只包括目標(biāo)節(jié)點(diǎn);
    冒泡階段,該階段從目標(biāo)節(jié)點(diǎn)的后續(xù)節(jié)點(diǎn)沿顯示列表層次結(jié)構(gòu)向上往回流動(dòng)。
    EventDispatcher 類實(shí)現(xiàn) IEventDispatcher 接口,并且是 DisplayObject 類的基類。 EventDispatcher 類允許顯示列表上的任何對象都是一個(gè)事件目標(biāo),同樣允許使用 IEventDispatcher 接口的方法。 
    事件目標(biāo)是 Flash ® Player 事件模型的重要組成部分。 

    事件目標(biāo)是事件如何通過顯示列表層次結(jié)構(gòu)這一問題的焦點(diǎn)
    當(dāng)發(fā)生鼠標(biāo)單擊或按鍵等事件時(shí),F(xiàn)lash Player 會(huì)將事件對象調(diào)度到從顯示列表根開始的事件流中
    然后該事件對象在顯示列表中前進(jìn),直到到達(dá)事件目標(biāo),然后從這一點(diǎn)開始其在顯示列表中的回程
    在概念上,到事件目標(biāo)的此往返行程被劃分為三個(gè)階段:
    、、捕獲階段包括從根到事件目標(biāo)節(jié)點(diǎn)之前的最后一個(gè)節(jié)點(diǎn)的行程,
    、、目標(biāo)階段僅包括事件目標(biāo)節(jié)點(diǎn),
    、、冒泡階段包括回程上遇到的任何后續(xù)節(jié)點(diǎn)到顯示列表的根。
    通常,使用戶定義的類能夠調(diào)度事件的最簡單方法是擴(kuò)展 EventDispatcher。 如果無法擴(kuò)展(即,如果該類已經(jīng)擴(kuò)展了另一個(gè)類),則可以實(shí)現(xiàn) IEventDispatcher 接口,創(chuàng)建 EventDispatcher 成員,并編寫一些簡單的掛鉤,將調(diào)用連接到聚合的 EventDispatcher 中。
    二、說明 首先明確幾個(gè)概念
    1、顯示列表根:假如你有abc 三個(gè)panel c在b中 b在a中這樣的嵌套關(guān)系 那么c-->b-->a  a就是列表的根
    2、目標(biāo):假如你在c上發(fā)了一個(gè)事件那么c就是事件的目標(biāo) 有些復(fù)雜控件有click事件 不過發(fā)事件的目標(biāo)不是它本身 那個(gè)currenttarget才是它本身
    3、事件傳遞的流程:首先你派發(fā)事件在c上 事件首先從a-->b-->c-->b-->a這樣一個(gè)完整的循環(huán)
    4、捕獲階段:事件在a-->b的這個(gè)階段(注意和b-->a不同)
    5、目標(biāo)階段 僅當(dāng)事件到達(dá)c的時(shí)候
    6、冒泡階段 b-->a這樣經(jīng)過的階段
    三、具體應(yīng)用
    當(dāng)你在c上面派發(fā)了一個(gè)事件  然后你想在c的頂層a上監(jiān)聽到
    你可能這么做
    首先你在c上this.dispatchEvent(new Event("cevent",false)); 這樣發(fā)了一個(gè)事件
    藍(lán)色字體 意味著這個(gè)事件只會(huì)在捕獲和目標(biāo)階段 a->b->c
    然后你在a上監(jiān)聽這個(gè)事件 a.addEventListener("cevent",function():void{trace("原始論壇目標(biāo)發(fā)出的事件");},false);
    紅色字體 意味著你打算 讓偵聽器只在目標(biāo)或冒泡階段處理事件 就是c->b->a
    四、簡單說來就是 你發(fā)出的事件走的是a->b->c的階段 而你偵聽只想偵聽b->a階段c只走了一次所以不會(huì)檢測到c的事件
    任何一個(gè)false改成true就可以了
    藍(lán)色改成true意味著事件在所有過程傳遞
    紅色改成true意味著偵聽捕獲階段
    再簡單說 新建事件不冒泡 默認(rèn)偵聽只偵聽冒泡

    posted @ 2011-06-05 18:04 天空布藍(lán) 閱讀(536) | 評論 (0)編輯 收藏

    (轉(zhuǎn)載) flex4 css語法

      

    我們將展示以下幾種例子:通過命名空間來定義全局CSS樣式;通過具體組件的ID來定義個(gè)別組件的樣式;通過類里面的組件ID來定義樣式;通過組件樣式定義樣式。

    詳細(xì)說明:

    首先讓我們新建一個(gè)application。如下。包含兩個(gè)按鈕(一個(gè)Halo按鈕和一個(gè)Spark按鈕)和一個(gè)包含在容器VGroup里面progressBar。代碼如下:

    <?xml version=”1.0″ encoding=”utf-8″?>

    <s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009″

    xmlns:s=”library://ns.adobe.com/flex/spark”

    xmlns:mx=”library://ns.adobe.com/flex/halo” minWidth=”1024″ minHeight=”768″>

            <fx:Style source=”global.css” />

            <s:layout>

                    <s:VerticalLayout />

            </s:layout>

            <mx:Button label=”Click me, I’m a Halo button!”  id=”haloButton” />

            <s:Button label=”Click me, I’m a spark cool and funkybutton !” id=”sparkButton” />

            <s:VGroup id=”myBox”>

                    <mx:ProgressBar />

            </s:VGroup>

    </s:Application>

    在CSS里面需要導(dǎo)入相應(yīng)的命名空間,如:

    @namespace s “library://ns.adobe.com/flex/spark”;

    @namespace mx “library://ns.adobe.com/flex/halo”;

    定制全局樣式

    mx|Button

    {

    color:#ffffff;

    }

    s|Button

    {

    color:#000000;

    }

    當(dāng)然也可在組件的屬性里面指定樣式類,然后在css中聲明相應(yīng)的樣式類

    .myStyleClass

       {

       color:#ff0000;

       }

    組件ID設(shè)置相應(yīng)的組件樣式

    #haloButton

       {

       base-color:#0000ff;

       }

    #sparkButton

       {

       base-color:#ffffff;

       }

    類里面的組件ID來定義樣式

    s|VGroup#myBox mx|ProgressBar

       {

       color:#ff0000;

       }

    通過狀態(tài)定義樣式

    s|Button:down

       {

       color:#33CC33;

       }

    總結(jié):

    通過這些語法,我們能夠更輕松的為組件制作樣式了。

    posted @ 2011-06-05 15:56 天空布藍(lán) 閱讀(2421) | 評論 (0)編輯 收藏

    (轉(zhuǎn)載)兩個(gè).mxml文件之間鏈接的簡單方法

    test.mxml主界面:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            xmlns:n1="com.*" layout="absolute">
            
            <mx:ViewStack width="100%" height="100%" id="test" >
                    <n1:test id="test_1"/><!--第一個(gè)頁面(test1.mxml文件)-->
                    <n1:test id="test_2"/><!--第二個(gè)頁面(test2.mxml文件)-->
            </mx:ViewStack>
    </mx:Application>

    =====test1.mxml代碼:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
            <mx:Script>
                    <![CDATA[
                            public function test1():void
                            {
                                    parentDocument.test.selectedChild=parentDocument.test_2;
                            }
                    ]]>
            </mx:Script>
            <mx:Button label="跳轉(zhuǎn)到test2.mxml" click="test1()"/>
    </mx:Canvas>

    =====要從test2.mxml返回到test1.mxml頁面:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
            <mx:Script>
                    <![CDATA[
                            public function test1():void
                            {
                                    parentDocument.test.selectedChild=parentDocument.test_1;
                            }
                    ]]>
            </mx:Script>
            <mx:Button label="跳轉(zhuǎn)到test2.mxml" click="test1()"/>
    </mx:Canvas>

    這樣就可以實(shí)現(xiàn)簡單的頁面調(diào)整,類似于頁面的超鏈接
     
    原文鏈接:http://blog.csdn.net/sws9999/archive/2011/03/11/6238897.aspx


    posted @ 2011-06-05 15:49 天空布藍(lán) 閱讀(918) | 評論 (0)編輯 收藏

    (轉(zhuǎn)載)flex制作一個(gè)用戶登錄框(含驗(yàn)證碼)

         原文地址:http://www.cnblogs.com/qiantuwuliang/archive/2010/04/09/1708119.html

     
       
    代碼
    <?xml version="1.0" encoding="utf-8"?>  
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  
                 fontSize
    ="12" horizontalAlign="center" creationComplete="init()">  

     
    <mx:Script>  
      
    <![CDATA[  
       import mx.controls.Alert;  
         
       private 
    function init():void{  
        generate.text
    =generateCheckCode();  
       }  
         
       
    //登錄驗(yàn)證
       private function loginHandler():void{  
          
    if(user.text==""||pass.text==""){  
           Alert.okLabel
    ="確定";
           Alert.show(
    "用戶名 或 密碼 為空","提示");  
          }
    else{  
           
    if(user.text=="jianbao"&&pass.text=="jianbao"  
              
    &&identify.text.toLowerCase()==generate.text.toLowerCase()){  
                Alert.okLabel
    ="確定";   
                   Alert.show(
    "登錄成功","提示");  
                currentState
    ="hollow";  
              
           }
    else{  
                
    if(identify.text.toLowerCase()!=generate.text.toLowerCase()){  
                  Alert.okLabel
    ="確定";  
                  Alert.show(
    "驗(yàn)證碼輸入錯(cuò)誤","提示");  
                  generate.text
    =generateCheckCode();  
                }
    else
                Alert.okLabel
    ="確定";       
                Alert.show(
    "用戶名 或 密碼 錯(cuò)誤","提示");  
                }  
           }  
          }  
       }  
         
         
       
    //清除
       private function clearHandler():void{  
        user.text
    =pass.text="";  
       }  
         
       
    //產(chǎn)生驗(yàn)證嗎
         
       private 
    function generateCheckCode():String{  
        
    //init  
        var num:Number;  
        
    var code:String;  
        
    var checkCode:String="";  
          
        
    for(var i:int=0;i<5;i++){  
         num
    =Math.round(Math.random()*100000);  
         
    if(num%2==0){  
          code
    =String.fromCharCode(48+(num%10));  
         }
    else{  
          code
    =String.fromCharCode(65+(num%26));  
         }  
         checkCode 
    +=code;  
        }  
        
    return checkCode;  
       }  
      ]]
    >  
     
    </mx:Script>  
                    
     
    <mx:Panel id="panel" x="143" y="115" width="350" height="229" layout="absolute" title="login">  
        
      
    <mx:Button id="btnLogin" x="73" y="141" label="登錄" click="loginHandler()"/>  
      <mx:Button id="btnClear" x="167" y="141" label="清除" click="clearHandler()"/>  
         
      
    <mx:Label x="41" y="31" text="用戶名"/>  
      <mx:Label x="44" y="64" text="密  碼"/>  
         
      
    <mx:TextInput id="user" x="81" y="31"/>  
      <mx:TextInput id="pass" x="81" y="62" displayAsPassword="true"/>  
      <mx:Text x="40" y="100" text="驗(yàn)證碼"/>  
      <mx:TextInput x="81" y="98" width="68" id="identify"/>  
      <mx:Label x="156" y="100" width="48" id="generate"/>  
      <mx:Label x="209" y="100" text="看不清楚 換個(gè)~~" click="generate.text=generateCheckCode()" />  
         
     
    </mx:Panel>  
        
       
    <mx:states>  
        
    <mx:State name="hollow">  
         
    <mx:RemoveChild target="{panel}"/>  
         <mx:AddChild position="lastChild">  
          
    <mx:Label text="hollow marshane" x="0" y="200" fontSize="200" color="red"/>  
         </mx:AddChild>  
        </mx:State>  
       </mx:states>  
        
    </mx:Application>  


    效果圖:

    posted @ 2011-06-05 13:19 天空布藍(lán) 閱讀(1139) | 評論 (0)編輯 收藏

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    Flex學(xué)習(xí)鏈接

    搜索

    •  

    最新評論

    • 1.?re: tomcat7的配置
    • 新建變量名: TOMCAT_HOME 應(yīng)該為CATALINA_HOME
    • --houkai
    • 2.?re: tomcat7的配置
    • 確實(shí)是的@寒澈
    • --houkai
    • 3.?re: tomcat7的配置
    • @ftp123
      你娘里個(gè)大雪碧 里面會(huì)有common這個(gè)文件夾嗎 不知道還尼瑪在這瞎比比 純尼瑪誤導(dǎo)人 我最惡心的就是這樣沒事裝逼的人 艸
    • --cao
    • 4.?re: tomcat7的配置
    • 從哪抄來的,是抄的,你也說聲啊,要不自己測試下也可以,害人測試半天。
    • --ftp123
    • 5.?re: tomcat7的配置
    • %TOMCAT_HOME%\common\lib 從tomcat6.0開始已經(jīng)沒有common文件夾了,直接用\lib,害我找了半天common文件夾啊,趕快改過來吧
    • --寒澈

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 男男AV纯肉无码免费播放无码| 精选影视免费在线 | 亚洲αⅴ无码乱码在线观看性色 | 亚洲精品午夜无码专区| 亚洲中文久久精品无码| 亚洲人成网站影音先锋播放| 亚洲人成人77777在线播放| 亚洲色偷偷偷综合网| 免费无码一区二区| 日本卡1卡2卡三卡免费| 欧洲精品成人免费视频在线观看 | 中文无码日韩欧免费视频| 久艹视频在线免费观看| 福利免费观看午夜体检区| 免费国产成人高清视频网站| 亚洲av无码潮喷在线观看| 亚洲13又紧又嫩又水多| 免费一级做a爰片久久毛片潮| 日韩精品在线免费观看| 成人免费毛片观看| 国产成人精品曰本亚洲79ren| 亚洲一区二区三区日本久久九| 亚洲中文字幕无码mv| 久久最新免费视频| 国产2021精品视频免费播放| 免费在线不卡视频| 91在线亚洲精品专区| 美女黄频视频大全免费的| 久久久久久一品道精品免费看| 大学生高清一级毛片免费 | 国产乱弄免费视频| 亚洲第一精品在线视频| 国产精品国产亚洲区艳妇糸列短篇 | 无码毛片一区二区三区视频免费播放 | 亚洲成在人线aⅴ免费毛片| 99在线免费观看| 成年丰满熟妇午夜免费视频| 亚洲韩国精品无码一区二区三区| 亚洲国产91在线| 国产成年无码久久久免费| 免费看的黄色大片|