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

    作者:课课家教育更新于: 2016-07-19 17:31:29

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

      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中的各种概念先进行掌握,理解了以后才更好的去学习代码的使用。

课课家教育

未登录