Java學習筆記之SWING — 基本SWING程式

來源:互聯網
上載者:User

前言:最近剛把《Thinking in Java 3rd》解決掉,雖然有C/C++的底子,但是東西一多還是胡亂起來了,最好的記憶方法就是實踐了,對於初出茅廬的我來說,SWING其實是最有吸引力最立杆見影的東西了吧,跟公交線路一樣,總是騎車的人不會對它熟悉到哪裡去。這裡就稍稍談下個人的學習心得之類的吧。

        做個最簡只帶按鈕,文本編輯框的SWING吧:

 

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;   // 關於監聽後面會講到

/** *//**
 * @author SosoAyaen
 **/
 
 /** *//**
  * root Class named SwingEx
  **/
 public class SwingEx extends JFrame ...{ // JFrame就是一個頂層容器,這裡直接繼承它
  private JButton b1, b2; // 兩個按鈕
  private JPanel p1;      // JPanel也是一個中間容器
  private JTextField t1;  // 文本編輯地區
  /** *//**
   * Method SwingEx建構函式
   *
   * @param title 程式的標題
   *
   **/
  public SwingEx(String title)...{
   super(title);                   // 調用JFrame的建構函式,把程式標題傳入
   b1 = new JButton("Click me!");  // 按鈕上顯示的文本,AWT只能顯示文本,SWING甚至可以顯示圖
   b2 = new JButton("Beat me!");
   t1 = new JTextField(30);        // 設定為30個字元長度
   t1.setEditable (true);          // 設定t1為可編輯區域
   p1 = new JPanel();              // 建立一個JPanel執行個體
   p1.setLayout (new FlowLayout());// 設定JPanel的相片順序,以後馬上會說到
   p1.add(b2);                     // 把按鈕b2添加到JPanel裡
   p1.add(b1);                     // 把按鈕b1添加到JPanel裡
   p1.add(t1);                     // 把文本地區t1也添加到JPanel裡面

   this.setSize (100, 100);        // 注意這個this,指當前SwingEx,它繼承自JFrame,大小設定
   this.setLayout (new FlowLayout()); // 同樣設定相片順序,只是對頂層容器的排列
  // this.add(b1);                    // 頂層容器也可以直接添加控制項
  this.add(p1);                       // 把JPanel容器添加到頂層容器中
  }
  
  /** *//**
   * Method main
   *
   * @param args
   *
   **/
  public static void main(String[] args)...{
   SwingEx se = new SwingEx("Swing Test"); // 建立一個執行個體
   se.setVisible (true);                   // 設定為顯示,show(boolean)是過時的API
  }
 }

 

        很簡單的程式,不過也是,程式由自己定的啦,想做了簡單可以,要做了複雜亦可,來看看SWING的構建步驟吧:首先就是要匯入類庫了,javax.swing.*當然是必須要匯入的,java.awt.*也同樣是必不可少的,java.awt.event.*這個類庫是主要管理事件的,比如你按下按鈕或者改變文本地區內容之類觸發的事件之類的,以後會講到,而且這個是最重要的喲,因為你所有的事件響應可都離不開它呀,呵呵。直接繼承JFrame個人感覺比較方便,至少現在不覺得麻煩,呵呵,而且本來就是一個Frame的程式是吧,main所在的Class如果是JFrame不是蠻合情合理的麼,容器有好多種,有頂層容器如JFrame等,中間容器如JPanel等,還有其他的,你要做的就是把容器的大小還有相片順序(Layout)設定好,之後就只需要把控制項或者容器通過add(控制項)方法把控制項或者是容器添加進去就行了,注意,中間容器不能添加頂層容器,個人猜想,雖然沒實驗過,但是想想也不合情理是吧,呼呼。最後要做的就是在mian中把這個繼承自JFrame的執行個體setVisible(true)就可以了。
 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.