仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1882|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页编程之Java Swing进门基本

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:42:33 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,转自键者天行


1.媒介:
  当我们进修过了java中的基础语法,而且熟习java的面向对象基本今后,我们就能够入手下手复杂的Swing程序的计划,用过Vb的伴侣大概会被它的复杂的计划用户界面办法所吸引,只必要拖几个控件到窗体上,为每一个空件编写event就能够复杂的完成界面计划.可是壮大的java也不比vb逊?一样能够计划出优美的界面。


  2.Swing概述:

  当java1.0方才呈现时还没有swing,事先的GUI基础编程库,sun取名叫AWT(AbstractWindowTookit),基础AWT库处置用户界面的办法是将这些元素的创立举动交给,底层操纵体系的GUI工具箱举行处置,来完成WORA的目标。而由于各种缘故原由,分歧的OS之间存在差别,使得AWT界面库存在很多bug。1996年sun同netscape共同努力创立了新的库取名Swing。

  ------假如,没有Swing,java的图形界面就不名一文.------
  swing是java的基本类,是JFC的一部分,完全的JFC是很伟大的,包含的组件也良多。

  3.为何要选择Swing:Swing具有更丰厚并且加倍便利的用户界面元素汇合,Swing关于底层平台的依附更少,因而,特别平台上的bug会很少Swing会带来交织平台上的一致的视觉体验

  4.很多初学java的伴侣们在学完java的基本部分后就会感应很茫然,仍是对java无能甚么不是很懂得,以是在开端把握基础的观点后就能够近一步的研讨Swing,能够对初学者有必定的进步。

  上面我们就来开端的研讨一个程序,团体以为是进门Swing的很好的代码。

//asimpleexmplethatcanshowthebasisofswing
-------------------------------------------------------------------------
//importpakageswhichweneed
importjavax.swing.*;
importjava.awt.*;
publicclassHelloCsdn
{
publicstaticvoidmain(String[]args)
{
HelloCsdnFrameframe=newHelloCsdnFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
/**thispartweconstructanewframeHelloCsdnFrame
*/
-------------------------------------------------------------------------

classHelloCsdnFrameextendsJFrame{
publicHelloCsdnFrame()
{
setTitle("HelloCSDN.NET");
setSize(WIDTH,HEIGHT);
HelloCsdnPanelpanel=newHelloCsdnPanel();
Containerc=getContentPane();
c.add(panel);
}
publicstaticfinalintWIDTH=300;
publicstaticfinalintHEIGHT=200;
}
/**thispartweextendourHelloCsdnFramtoJFrameand
constructanewobjectHelloCsdnPanelandadditontheframe
/*
--------------------------------------------------------------------
classHelloCsdnPanelextendsJPanel{
publicvoidpaintComponent(Graphicsg){
super.paintComponent(g);
g.drawString("HelloCSDN.NET",MESSAGE_X,MESSAGE_Y);
}
publicstaticfinalintMESSAGE_X=100;
publicstaticfinalintMESSAGE_Y=100;
}
/**Apanelthatdisplayamessage
*/

  我把此程序分为3part.每部分都有正文,这一段代码是做甚么用的。一同来剖析此程序:

  在第一部分

//importpakageswhichweneed
importjavax.swing.*;
importjava.awt.*;
publicclassHelloCsdn
{
publicstaticvoidmain(String[]args)
{
HelloCsdnFrameframe=newHelloCsdnFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
/**thispartweconstructanewframeHelloCsdnFrame
*/

  能够看到我们起首导进了2个包swing和awt,创立了一个object对这个object我们举行实例化,然后用代码

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();来完成封闭Frame,但不是停止程序,个中止的只是程序的主线程,

  第二部分:

classHelloCsdnFrameextendsJFrame{
publicHelloCsdnFrame()
{
setTitle("HelloCSDN.NET");
setSize(WIDTH,HEIGHT);
HelloCsdnPanelpanel=newHelloCsdnPanel();
Containerc=getContentPane();
c.add(panel);
}
publicstaticfinalintWIDTH=300;
publicstaticfinalintHEIGHT=200;
}
/**thispartweextendourHelloCsdnFramtoJFrameand
constructanewobjectHelloCsdnPanelandadditontheframe
/*

  在此我们把我们创建的object承继java的JFrame类,使他有JFrame的属性.举动.然后设置题目和巨细,再次创建一个新的objectHelloCsdnPanel这是由于是在JFrame中完成的以是要创建容器c.把我们创建的panel对象放进containerc中。

  第三部分

classHelloCsdnPanelextendsJPanel{
publicvoidpaintComponent(Graphicsg){
super.paintComponent(g);
g.drawString("HelloCSDN.NET",MESSAGE_X,MESSAGE_Y);
}
publicstaticfinalintMESSAGE_X=100;
publicstaticfinalintMESSAGE_Y=100;
}
/**Apanelthatdisplayamessage
*/持续我们承继刚创建的HelloCsdnPanel

  到JPanel使我们的对象有JPanel的属性,然后我们才干挪用在frame上输入字符的办法g.drawString
由此程序我们一方面能够很好的看出java的中心头脑----承继干系,另外一方面能够看出swing的基础构架是甚么。

  他有几个层,每一个层完成本人的甚么功效。

  5.自此我们能够看出frame的外部布局:

------JFrame(底层)
   |
   ---------JRoot
|
---------JLayeredPane
   |
   -----------菜单条
|
-----------内容窗格
    |
    -----------通明窗格(顶层)

  而在这6个层中我们最干系的是菜单条和内容窗格.由于它觉定我们的frame是甚么样的。

  总结:能够看出Swing是java很好的体现,怪不得关于Swing的书能够写成很厚的一本,本章只是教那些初学者,关于java有一个更好的熟悉,不近近是停止在把持台上的编程。


你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-17 21:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表