java面試第九天

weixin_34377065發表於2016-02-13

圖形介面:

         佈局管理器:

                  CardLayout:卡片佈局,皮膚重疊放置,只能看到一個,最先新增的會被顯示出來,可以進行翻動

                           兩種構造方法:

                                    CardLayout()

                                          建立一個間隙大小為 0 的新卡片佈局。

                                    CardLayout(int hgap, int vgap)

                                          建立一個具有指定的水平和垂直間隙的新卡片佈局。

                        常用的方法:

                                    previous(Container parent)

                                          翻轉到指定容器的前一張卡片。

                                 show(Container parent, String name)

                                          翻轉到已新增到此佈局的具有指定 name 的元件

                                 next(Container parent)

                                          翻轉到指定容器的下一張卡片。

                                 first(Container parent)

                                          翻轉到容器的第一張卡片。        

                                 last(Container parent)

                                          翻轉到容器的最後一張卡片。

                                         

               GridBagLayout:增強版的網格佈局,元件可以跨行跨列的進行佈局。

                        構造方法:

                                 GridBagLayout()

                                          建立網格包佈局管理器。

                        注意:

                                 該佈局管理器的具體實現需要藉助GridBagConstraints類,利用GridBagConstraints類的屬性對元件進行設定,具體內容檢視API文件。

                                

         選單項:

                  JMenuBar:選單欄的實現,將JMenu物件新增到選單欄以構造選單

                           構造方法:

                                    JMenuBar()

                                          建立新的選單欄。

                                         

                  JMenu:選單的該實現是一個包含JMenuItem的彈出視窗

                           構造方法:

                                    JMenu(String s)

                                          構造一個新JMenu,用提供的字串作為其文字。

                                         

                  JMenuItem:選單中的項的實現,選單項本質上是位於列表中的按鈕

                           構造方法:

                                    JMenuItem(String text)

                                          建立帶有指定文字的JMenuItem。

                                

AWT事件模型:

         事件模型的三要素:

                  事件源(Object):事件的產生者。

                  事件(EventObject):描述發生了什麼事情。 

                  事件監聽(EventListener):事件的處理者

                  關係:

                           事件只與事件源有關,與事件監聽無關

                           一個事件源可以註冊多個事件監聽。

                           一個事件監聽器可以在多個事件源中註冊。

                           一個事件源可以就同一類事件註冊多個事件監聽。

        

         事件處理機制:委派式的處理機制(是一種鬆耦合)

                  元件自身會產生事件物件,但本身不一定負責處理,而是交給一個監聽者去處理

                 

         實現監聽的步驟:

                  a. 實現監聽介面implements XxxxListener

                  b. 重寫方法actionPerformed(ActionEvent e)

                  c. 註冊監聽addXxxxListener(ActionListener l)

                 

         介面卡:一個重寫了所有介面中方法的類

                  在java.awt.event包中,會有一些介面卡,也就是把相應的XxxxListener,換成XxxxAdapter就是介面卡。

                  在AWT中經常用匿名內部類來繼承介面卡做監聽

相關文章