|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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有一个更好的熟悉,不近近是停止在把持台上的编程。
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。 |
|