zoukankan      html  css  js  c++  java
  • 【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界面的无比乏味

    当时个人机器配置较差,运行个applet都挺费劲,看着那呆板的方框,又丑又慢的缓缓挤上屏幕,一种厌恶感油然而生。。。

    更重要的,学习java的基本语法,不应该采用这种GUI的教学方式!因为,这样对于初学者,甚至对oop都没有任何概念,一开始就会陷入一大堆不必要的知识点当中,比如类的继承,GUI界面的事件消息响应机制,子类的方法覆盖,一些跟GUI相关的特定对象到底是怎么回事,比如,这个可恶的Graphics g ,他奶奶的到底是啥东东尼???等等等等,真是非常的麻烦!

    无非为了就是更加形象化那么一点,但却极可能直接挫伤初入门者的积极性,搞的一头雾水,更何况,那awt界面还丑的出奇,sun设计这种烂东西,简直就是在侮辱java本身,结果没过多久,awt就欧了。

    事实证明,虽然Deitel后来也出了Swing版的java基础教程(如这里推荐的),但他还是在java大学基础教程第六版里,采取了其他java教材中管用的经典:

    public static void main(String[] args){

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

    }

    并用起了命令行编译运行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式样的编程语言,真是很讽刺的一件事

  • 相关阅读:
    1024X768大图 (Wallpaper)
    (Mike Lynch)Application of linear weight neural networks to recognition of hand print characters
    瞬间模糊搜索1000万基本句型的语言算法
    单核与双核的竞争 INTEL P4 670对抗820
    FlashFTP工具的自动缓存服务器目录的功能
    LDAP over SSL (LDAPS) Certificate
    Restart the domain controller in Directory Services Restore Mode Remotely
    How do I install Active Directory on my Windows Server 2003 server?
    指针与指针变量(转)
    How to enable LDAP over SSL with a thirdparty certification authority
  • 原文地址:https://www.cnblogs.com/Thermo/p/4216426.html
Copyright © 2011-2022 走看看