<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # AVA之旅(三十一)——JAVA的圖形化界面,GUI布局,Frame,GUI事件監聽機制,Action事件,鼠標事件 * * * > 有段時間沒有更新JAVA了,我們今天來說一下JAVA中的圖形化界面,也就是GUI ## 一.GUI的概述 > GUI全稱叫做Graphical User Intergace(圖形用戶接口),用圖形的方式,來顯示計算機操作的界面,這樣更加方便直觀,與用戶交互 > > 說道交互,其實系統跟用戶有兩種交互,一種是GUI,一種叫做CLI,也就是命令行,全稱叫做Command User Intergace,這個需要一些學習成本,倒是不怎么推薦,比如創建文件夾之類的,要是你用CLI那就有點麻煩了 > > 回到JAVA,java中為GUI提供的對象都存在java.Awt和javax.Swing兩個包中,這兩個是什么意思呢? * java.Awt:abstract Window ToolKit(抽象窗口工具包),需要調用本地系統方法實現功能,屬于重量級控件 * javax.Swing:在Awt的基礎上,建立的一套圖形化界面系統。其中提供了更多的組件,而且完全由java實現,增強了移植性,屬于輕量級控件 > 我們來看看大致的組件 ![這里寫圖片描述](http://img.blog.csdn.net/20160730171659782) ## 二.GUI布局 > 我們來學習這些控件之前,我們要學習他的布局,這些組件應該按照什么樣的樣式排放,這就是布局,常見的布局管理器有以下這幾種 * FlowLayout(流式布局管理器)? * 從左往右的順序排列 * Panel默認的布局管理器 * BorderLayout(邊界布局管理器)? * 東南西北中 * Frame默認的布局管理器 * GridLayout(網格布局管理器)? * 規則的矩陣 * CardLayout(卡片布局管理器)? * 選項卡 * GridBagLayout(網格包布局管理器)? * 非規矩的矩陣 ## 三.Frame > 我們來玩一下這個布局 ~~~ package com.lgl.hello; import java.awt.Frame; public class Test { public static void main(String[] args) { Frame f = new Frame("GUI"); //設置寬高 f.setSize(300, 200); //設置顯示位置 f.setLocation(720, 560); //顯示 f.setVisible(true); } } ~~~ > 運行的結果 ![這里寫圖片描述](http://img.blog.csdn.net/20160730175107330) > 緊接著,我們往里面放控件 ~~~ package com.lgl.hello; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; public class Test { public static void main(String[] args) { //默認邊界布局 Frame f = new Frame("GUI"); //設置布局管理器 f.setLayout(new FlowLayout()); //設置寬高 f.setSize(300, 200); //設置顯示位置 f.setLocation(720, 560); //按鈕 Button b = new Button("Button"); f.add(b); //顯示 f.setVisible(true); } } ~~~ > 運行的結果 ![這里寫圖片描述](http://img.blog.csdn.net/20160730175514732) > 既然如此,我們就給他設置點擊事件了 ## 四.GUI事件監聽機制 > 我們怎么去監聽他的事件?我們先來看下流程圖 ![這里寫圖片描述](http://img.blog.csdn.net/20160730182015857) * 1.事件源 * 2.事件 * 3.監聽器 * 4.事件處理 > 我們就直接看代碼了,我們先監聽這個窗體右上角的關閉按鈕 ~~~ // 窗體監聽 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // 關閉窗口 System.exit(0); } }); ~~~ ## 五.Action事件 > 我們繼續來看,我們先按傳統的四位給寫好布局 ~~~ package com.lgl.hello; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class Test { public static void main(String[] args) { new Test1(); } } class Test1{ // 定義組件 private Frame f; private Button b; // 構造方法 public Test1() { init(); } // 初始化 private void init() { //初始化坐標 f = new Frame("My GUI"); //設置坐標 f.setBounds(300, 100, 600, 500); //設置布局 f.setLayout(new FlowLayout()); //初始化按鈕 b = new Button("Button"); //添加到布局 f.add(b); //顯示之前加載一下 myEvent(); //顯示 f.setVisible(true); } //監聽器 private void myEvent() { f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); //添加按鈕事件 } } ~~~ > 仔細看代碼,我們現在才是添加按鈕事件 ~~~ // 添加按鈕事件 b.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("點擊事件"); } }); ~~~ > 這樣按鈕也就具備了點擊事件 ## 六.鼠標事件 > 什么都有事件,那這樣我們來監聽一下鼠標的事件 ~~~ // 鼠標事件 b.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { System.out.println("鼠標進入了"); } @Override public void mouseExited(MouseEvent e) { System.out.println("鼠標出去了"); } }); ~~~ > 十分的簡單是吧,那相對的,還有一個鍵盤事件,提示框什么的,我們這個篇幅就到這里了,下篇文章我們再詳細的介紹! ## 有興趣的可以加群:555974449 版權聲明:本文為博主原創文章,博客地址:http://blog.csdn.net/qq_26787115,未經博主允許不得轉載。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看