下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Java Swing中容器以及组件的初步了解

作者:课课家教育     来源: http://www.kokojia.com点击数:1929发布时间: 2016-07-19 17:31:29

标签: Java SwingSwing容器Swing组件

大神带你学编程,欢迎选课

  Java Swing(用户界面开发包)是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT的功能进行了大幅度的扩充。简单的说就是Swing是awt的扩展以及改良。下面我们会对Swing中容器类以及Swing组件进行简单的介绍,先去了解这些组件的用处。

  Swing容器类

  顶级容器

   JApplet:小应用程序类,需要依靠浏览器执行。

   JFrame:带有标题以及边框的顶级容器。

   JDialog:用于创建对话框的窗体(弹出窗口)。

   JWindows:可以显示在用户桌面的任何位置,但没有标题栏和窗口管理按钮(其使用价值不大)。

  中级容器

    JPanel:就是一个矩形区域,其中可以包含图形组件,也可以 包含其他JPanel。

    JScrollPane:一种可以实现水平或者垂直滚动条的容器。

    JTooIBar:是一种存放组件的特殊容器。可以用作程序中的可拖拽的工具栏。

    JFrame

    JFrame是java.awt.Frame类的扩展,是在创建Swing程序时用得最多的最底层容器(因为在添加其他组件或者容器的时候,都是添加到JFrame中)。

    创建JFrame容器的步骤:

     1.让用户自定义类先继承JFrame。

     2.然后在自定义类的构造方法中对该窗体进行初始化,可以进行大小、初始位置的设置。

     3.最初始化的最后位置要主动的将窗体设置为可见,不然运行程序将不会出现。

     4.setDefaultColseOption(EXIT_ON_CLOSE)方法能帮助你关闭整个窗体线程。不然的话用户点击关闭按钮,窗口关闭之后窗体线程还在后台运行。

  JDialog

    Dialog容器提供了对话框功能。该容器使用的不是很多,我们通常使用JOptionPane.showConfirmDialog(this, “XXXX")。这样会在弹出对话框显示"XXXX"。

    下面的代码举例了使用JDialog如何输入文本:

   JPasswordField p = new JPasswordField();

   Object[] message = {"请输入密码:", p};

   int r = JOptionPane.showConfirmDialog(this, message, "系统",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);

   这样子就会把在对话框中所输入的密码传递到r中。

    JPanel

   javax.swing.JPanel类是一个普通的矩形,缺少JFrame容器的标题和边框。通常和JFrame配合使用,增大窗体布局的灵活性。现将组件添加到JPanel容器,再将JPanel容器添加到JFrame容器。

  JScrollPane

    为组件或者容器添加滚动条。如下图:

JScrollPane运行结果

  Swing组件

    JLabel:标签,通常用来标识另一个组件的含义。

    JTextField:单行文本域。

    JButton:按钮。

    JCheckBox:多选框,

    JRadioButton:单选框。

    JList:下拉列表。

    JProgressBar:进度条。简单的程序输出进度的变化。

      JLabel

         JLabel lb = new JLabel("组件和事件处理");

JLabel运行示例

  JTextField

    直接举例,简单的在Frame中添加一个JTextField:

JTextField简单代码示例

   JButton

          和JTextField的添加方法一样,结果示例:

JButton的运行结果

   JList

    当使用JList进行构建时,创建选项的字符串数组,然后利用JList进行构建,即可。默认的下拉列表没有滚动条,我们必须将下拉列表作为参数利用JScrollPane进行创建。

        例子:

JList运行示例

  布局管理器

   BorderLayout:东南西北中布局(North South East West Center),规律是容器发生变化时,组件相对位置不变,但是组件大小会改变。

   FlowLayout:流布局,规律为组件由上到下,从左到右放置。当容器发生变化时,组件代销不变,相对位置改变。

   GridLayout:网格布局,平均占据容器的空间。

   CardLayout:卡片布局,让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件。

   GridBagLayout:包布局,是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直、水平或沿它们的基线对齐。

       本文对Java Swing中的顶级容器、中级容器、组件以及布局管理器的概念进行了简单的说明。并没有把如果进行使用的代码放上去,只是简单的说了一些。希望初学者能通过本文对于Java Swing中的各种概念先进行掌握,理解了以后才更好的去学习代码的使用。

赞(27)
踩(1)
分享到:
华为认证网络工程师 HCIE直播课视频教程