java gui 书籍_【GUI开发】Swing的一本极好的入门教材

1 //Java大学简明教程 Deitel 著 简单易懂,详细讲Swing图形界面开发

2

3 packagefirst;4

5 import java.awt.*;6 import javax.swing.*;7

8

9 public class WelcomeSwing extendsJFrame10 {11 privateJLabel textJLabel;12 //private JLabel pictureJLabel;

13

14 publicWelcomeSwing()15 {16 createUserInterface();17 }18

19 private voidcreateUserInterface()20 {21 Container contentPane =getContentPane();22 contentPane.setBackground(Color.YELLOW);23 contentPane.setLayout(null);24

25 textJLabel = newJLabel();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 voidmain(String[] args)41 {42 WelcomeSwing application = newWelcomeSwing();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 packagefirst;3 importjava.applet.Applet;4 importjava.awt.Graphics;5

6 public class Wellcom extendsApplet{7 public voidpaint(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式样的编程语言,真是很讽刺的一件事

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值