`
空空儿
  • 浏览: 136429 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Swing 基本介绍

    博客分类:
  • J2SE
阅读更多
1-1: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

0
1
分享到:
评论

相关推荐

    Swing组件介绍(非常全)

    - `JFrame`: 是Swing中的顶级容器,用于承载其他组件,构建应用的基本框架。 - `JPanel`: 作为内容区域,可以包含多个组件,方便布局管理。 - `JScrollPane`: 用于添加滚动条,当组件内容超出可视范围时自动显示...

    swing组件介绍(一)

    综上所述,"swing组件介绍(一)"可能会涵盖Swing的基本概念、核心组件、布局管理、事件处理以及一些实用工具类,帮助初学者理解Swing在开发Java桌面应用中的重要性和用法。对于深入学习Swing,开发者还需要了解高级...

    j2ee的应用-swing组件介绍

    本篇文章将深入探讨Swing组件的基本知识,以及如何利用它们在J2EE开发中创建简单游戏和应用程序。 首先,Swing组件库包含了各种控件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、...

    Swing之JTable的详细介绍

    Swing之JTable的详细介绍,其基本用法及源码例子

    swing组件的详细介绍

    【Swing组件详解】 Swing是Java编程语言中用于创建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。在早期的Java版本(如JDK 1.0和1.1)中,Abstract Window Toolkit (AWT)是主要的GUI...

    使用Java Swing界面实现数据库基本操作

    本文将详细介绍如何使用Java Swing实现一个简单的数据库管理系统,该系统能够完成基本的增删改查操作。 #### 二、项目背景与目标 本项目旨在通过Java Swing构建一个用户友好的界面,实现对数据库的基本操作。主要...

    JavaSwing 实例教程

    本教程“JavaSwing 实例教程”旨在帮助初学者深入理解和掌握Swing的基本用法,通过实例化的教学方式,让学习者能够快速上手。 Swing 是Java AWT(Abstract Window Toolkit)的扩展,它提供了更现代、更丰富的组件,...

    java swing资料大全

    接下来,《精通Java Swing程序设计.chm》可能是一本深入的指南,它可能包含Swing高级特性的介绍,如模型-视图-控制器(MVC)设计模式在Swing中的应用,自定义组件的创建,以及Swing的国际化和可访问性支持。...

    深入swing 方面的书籍

    本书首先从Swing的基本组件讲起,详细介绍了JButton、JLabel、JTextArea等常见组件的用法和自定义,这些组件是构建用户界面的基础元素。通过学习,读者可以掌握如何创建基本的窗口应用程序,并对组件进行布局管理,...

    java swing

    Java Swing 是Java平台上用于构建图形用户界面...通过深入阅读《Java Swing》,开发者不仅可以理解Swing的基本概念,还能掌握构建专业级GUI应用的技巧。书中的实例代码和最佳实践对学习者来说是非常有价值的参考资料。

    swing程序设计pdf

    因此,本回答将依据标题和描述中提到的知识点展开,详细介绍Swing程序设计的基础概念、组件及其应用。 ### Swing程序设计基础 #### 1. 什么是Swing? Swing是一种用于构建图形用户界面(GUI)的Java类库,它是Java...

    Java swing 知识总结学习笔记

    ### Java Swing 知识总结学习笔记...通过以上的介绍,我们可以看到 Swing 提供了非常丰富的组件和功能,可以帮助开发者快速构建复杂的用户界面。理解 Swing 的基本结构和组件分类对于高效地开发 GUI 应用程序至关重要。

    JavaSwing桌面程序开发

    本章将详细介绍如何使用Swing进行桌面程序开发,特别适合初学者入门。 在Swing中,开发者可以创建窗口、面板、标签、按钮等各种UI元素,并处理用户交互事件。学习Swing的基本过程包括理解Swing的架构、组件使用、...

    swing界面设计文档

    通过以上介绍,我们可以看到Swing提供了丰富的功能和灵活性,让开发者能够构建出符合用户需求的Java GUI应用。在实际开发中,了解并熟练运用这些知识点,能帮助我们高效地创建出美观且功能完善的用户界面。通过阅读...

    java swing 2nd源码

    1. **Chapter02**:通常这部分会介绍Swing的基础,如JFrame(顶级容器)、JComponent(所有Swing组件的基类)以及基本组件如JLabel、JButton、JTextField等的使用。 2. **Chapter04**:可能涵盖布局管理器,如...

    Swing 教程我从ibm网上下载的 

    在本教程中,将介绍 Swing 中超出基本组件和应用程序的一些方面。虽然这些研究领域更难学习和掌握,但它们更强大,可以让您创建更好的应用程序。本教程介绍的更高级的 Swing 概念是: 理解 JTable,以及它众多令人...

    《Java Swing(第二版)》

    本书详细介绍了Swing的基本组件,包括JFrame、JButton、JLabel、JTextField、JTextArea、JComboBox等,这些组件是构建用户界面的核心元素。通过学习,你可以了解到如何添加、布局和定制这些组件,以满足不同需求。...

    fest-swing文档

    首先,我们要了解Fest-Swing的基本概念。它允许开发者通过模拟用户交互来测试Swing组件,如按钮点击、文本输入等。这样可以确保应用程序在实际使用中的行为符合预期。Fest-Swing的核心是它的`ApplicationTest`类,它...

Global site tag (gtag.js) - Google Analytics