【GUI開發】Swing的一本極好的入門教材

 1 // Java大學簡明教程 Deitel 著 簡單易懂,詳細講Swing圖形界面開發
 2 
 3 package first;
 4 
 5 import java.awt.*;
 6 import javax.swing.*;
 7 
 8 
 9 public class WelcomeSwing extends JFrame
10 {
11     private JLabel textJLabel;
12     //private JLabel pictureJLabel;
13     
14     public WelcomeSwing()
15     {
16         createUserInterface();
17     }
18     
19     private void createUserInterface()
20     {
21         Container contentPane = getContentPane();
22         contentPane.setBackground(Color.YELLOW);
23         contentPane.setLayout(null);
24         
25         textJLabel = new JLabel();
26         textJLabel.setText("Welcome to Java Programming!");
27         textJLabel.setLocation(35,0);
28         textJLabel.setSize(550,88);
29         textJLabel.setFont(new Font("SanSerif",Font.PLAIN,36));
30         contentPane.add(textJLabel);
31         
32         //pictureJLabel = new JLabel();
33         //pictureJLabel.setIcon(new ImageIcon());
34         
35         setTitle("WelcomeSwing");
36         setSize(608,413);
37         setVisible(true);
38     }// end mothod createUserInterface
39     
40     public static void main(String[] args)
41     {
42         WelcomeSwing application = new WelcomeSwing();
43         application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
44     }// end method main
45 
46 }

學習Swing,這本書恐怕是最淺顯易懂的,這是Deitel一向的風格,經過Swing界面來學習Java的基本語法和一些API
當初買Java大學教程(2003版),裏面的GUI是awt,是JDK1.0的例子,裏面applet的action方法目前已徹底過期
在JDK1.8上,裏面的例子有的還能夠運行出來,但文本框輸入數據後回車,界面已沒法響應回車的事件消息
那是一本通俗易懂的好書,惋惜已沒什麼溫習的效用了,65塊錢!



重溫一下awt,這是第一支學習的Java程序呦
 1 // A first program in Java
 2 package first;
 3 import java.applet.Applet;
 4 import java.awt.Graphics;
 5 
 6 public class Wellcom extends Applet{
 7     public void paint(Graphics g){
 8         g.drawString("Welcome to Java programing!", 5, 50);
 9         g.drawString("Welcome to Java programing!", 5, 100);
10     }
11 } 

誠實的說,Deitel的書是好書,但這本他寫的Java大學教程(2003.4版),使用awt,當年卻讓我這個兩眼一抹黑的菜菜,深感java作GUI界面的無比乏味java

 

當時我的機器配置較差,運行個applet都挺費勁,看着那呆板的方框,又醜又慢的緩緩擠上屏幕,一種厭惡感油然而生。。。編程

 

更重要的,學習java的基本語法,不該該採用這種GUI的教學方式!由於,這樣對於初學者,甚至對oop都沒有任何概念,一開始就會陷入一大堆沒必要要的知識點當中,好比類的繼承,GUI界面的事件消息響應機制,子類的方法覆蓋,一些跟GUI相關的特定對象究竟是怎麼回事,好比,這個可惡的Graphics g ,他奶奶的究竟是啥東東尼???等等等等,真是很是的麻煩!app

 

無非爲了就是更加形象化那麼一點,但卻很可能直接挫傷初入門者的積極性,搞的一頭霧水,更況且,那awt界面還醜的出奇,sun設計這種爛東西,簡直就是在侮辱java自己,結果沒過多久,awt就歐了。eclipse

 

事實證實,雖然Deitel後來也出了Swing版的java基礎教程(如這裏推薦的),但他仍是在java大學基礎教程第六版裏,採起了其餘java教材中管用的經典:編程語言

public static void main(String[] args){oop

  System.out.println("Welcome to Java programming!");學習

}spa

並用起了命令行編譯運行java程序的教學方式命令行

 

這種轉變說明了什麼?設計

 

這說明了,10年前,是一個無比浮躁的時代,是一個沉迷於GUI界面至上的時代,那個時代沒,VB,Delphi滿天飛,一個視GUI能使教學更簡單更方便的時代,這,絕對是錯誤的

 

時光飛梭,10多年後的今天,在配置極其通常的機器上,swing界面均可以跑的很流暢,當用eclipse打開上面的那個程序時,彈出一個亮麗的歡迎界面,這纔是當年夢想中的java,或許當時我不知道有swing,也或者swing根本不能達到如今的流暢,無論怎麼說,一個awt式的語法教程,讓我和Java擦肩而過。。。

 

幸虧,在鬼使神差的從一個久遠的目錄中,點擊到eclipse的圖標後,一切翻天覆地,大大的不一樣了,這,纔是我想要的Java!

 

警告:徹底沒有GUI,oop的概念的初學者,若是從練習寫GUI界面代碼的方式來學習java基本語法,你將會誤入歧途。初學者,強烈建議遠離GUI編程的學習

     GUI最能體現oop思想中最複雜的部分,對於徹底不懂oop的初學者,卻用GUI編程來接引他們進入oop式樣的編程語言,真是很諷刺的一件事

相關文章
相關標籤/搜索