• 【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式样的编程语言,真是很讽刺的一件事

  • 相关阅读:
    hdu2063 匈牙利算法 二分最大匹配模版题
    经典dp 编辑距离
    新博客的第一道题 蓝桥杯 蚂蚁感冒
    cv.GaussianBlur参数选择 && contrast stretching
    大数据 week2 Hadoop and HDFS
    大数据 week2 Hadoop and HDFS
    抖音二面记录
    weight decay
    Pillow Image Filter
    UNSW CV第三课 下
  • 原文地址:https://www.cnblogs.com/Thermo/p/4216426.html
Copyright © 2020-2023  润新知