分享
 
 
 

Swing常用的Package

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

Swing常用的package

PACHAGE

|

-----------------|-------------------------------

javax.swing

|

最常用的pachage,包含了各种swing组件的类

javax.swing.border

|

包含与swing组件外框有关的类

javax..swing.colorchooser

|

针对swing调色盘组件(JColorChooser)所设计的类

javax.swing.event

|

处理由swing组件产生的事件,有别于AWT事件

javax.swing.filechooser

|

包含针对swing文件选择对话框(JFileChooser)所设计的类

----------------------------------------------

javax.swing.plaf

|

处理swing组件外观的相关类

javax.swing.plaf.basic

|

javax.swing.plaf.metal

|

javax.swing.plaf.multi

|

----------------------------------------------

javax.swing.table

|

针对swing表格组件(JTable)所设计的类

----------------------------------------------

javax.swing.text

|

包含与swing文字组件相关的类

javax.swing.text.html

|

javax.swing.text.html.parser

|

javax.swing.text.rtf

|

----------------------------------------------

javax.swing.tree

|

针对swing树关元件(JTree)所设计的类

javax.swing.undo

|

提供swing文字组件Redo或Undo的功能

1-2:swing的版面结构

Swing中几乎所有组件都是从JComponent衍生而来,也就是说这些组件都是lightweight Component,均由纯java code所编写面成

、Swing中以下几个组件不是由JComponent继承面来:

JFrame(JRoot Pane)

JDialog(JRoot Pane)

JWindow(JRoot Pane)

JApplet(JRoot Pane)

以上四个组件是heavyweight Component,必须使用到native code来画出这四个窗口组件,因为要在操作系统中显示窗口画面,必

须使用操作系统的宣传品资源,面以往的AWT组件大多使用native code所构造出来,因此Swing中的JFrame便继承原有AWT中的Frame

类,面不是继承JComponent类。同样,JApplet是继承原有AWT中的JApplet类,也不是继承JComponent类。

JFrame、JDialog、JWindow及JApplet这四个组件统称为最上层组件,因为其余的swing组件都必须依附在此四组件之一上才能

显示出来。此四组件均实现(Implement)RootPaneContainer这个界面(Interface),此界面定义了各种容器取得与设置并不是真实的容器,它是由Glass Pane与Layered Pane所组成(Layered Pane里拥有Content Pane与Menu Bar,而Menu Bar可选择使用或不使用),

我们不能在JRootPane上加入任何的组件,因为它只是一个虚拟的容器,若要在最上层组件上加入组件,必须加在Layered Pane或是

Layered Pane里的Content Pane上。以JFrame为例,一般我们要在JFrame上加入其他组件(如JButton、JLabel等)必须先取得JFrame

的Content Pane,然后将要加入的组件放在此Content Pane中,而不是直接就加到JFrame上。因此若要在JFrame中加入一个按钮,不

能像以前AWT时一样写成frame.add(button)的形式,而必须先取得JFrame的Content Pane,然后将按钮加入Content Pane中,如:

frame.getContentPane().add(button)

否则在编译的时候将有错误信息产生。

注意:

1.组件必须加在容器中,而容器本身具有层次性的关系,就如同珠宝盒一般,大盒子里面可以放小盒子,小盒子里面还可以放更小的盒子,而珠宝就可以放在某一个盒子中,这里的珠宝就代表组件,盒子就代表容器。因此若您想在JFrame加入任何组件时,必须

先取得JFrame的容器来放置这些组件,而由于JFrame、JDialog、JWindow与JApplet是显示Swing组件的源头,我们可以称它们为根

组件,也就是所谓的最上层组件。

2.RootPaneContainer它是一个interface,共有5个类实现(Implement)它,分别是JFrame、JAppleet、JWindow、JDialog、

JInternalFrame,其中JInternalFrame是一个lightweight Component,它不是一个最上层组件,也就是说JInternalFrame不能单独显示出来,必须依附在最上层组件中,我们将在下面讨论组件,而JFrame,JApplet,JWindow,JDialog均为最上层组件。

RootPaneContainer定义了下面几种方法:

方法

Container

getContentPane()返回contentPane

Component

getGlassPane()返回glassPane

JLayeredPane

getLayeredPane()返回layeredPane

JRootPane

getRootPane返回属于这个组件的JRootPane

Void

setContentPane(Container contentpane)设置ContentPane

Void

setGlassPane(Component glassPane)设置GlassPane

Void

setLayeredPane(JLayeredPane layeredPane)设置LayeredPane

JFrame如何取得Content Pane的实际流程,下面是一段很简单的程序代码:

public class Simple{

Simple(){

JFrame frame=new JFrame();

Container contentPane=frame.getContentPane();

JButton button=new JButton();

contentPane.add(button);

}

}

当我们写frame.getContentPane()时,会返回此frame的Content Pane,也就是一个容器组件,有了容器之后我们才能将button组件

摆进去,此时JFrame才算拥有button组件。所以JFrame就好像是一块空地,要在这空地上信人应该先盖一栋房子(容器),然后人

、家具、设备等等(组件)就能搬进此房子中。下面的层次结构说明了最上层组件都含有JRootPane组件,JRootPane本身就含有容

器组件,可让最上层组件装入其他的组件。

|Frame------JFrame(JRoot Pane)

|

Window|Dialog-----JDialog(JRoot Pane)

|

|

|-----------JWindow(JRoot Pane)

Applet -----------JApplet(JRoot Pane)

图示:

|Grass Pane

|

Root Pane|

|

|Content Pane

|Layered Pane|

|Menu Bar

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有