javax.swing使用总结(组件、容器、布局管理器概念)

最近在看java图形界面设计的内容,关于组件、容器之类的概念,觉得这篇文章写得不错。
参考博客原址: https://blog.csdn.net/qq_38858247/article/details/82950931
第一次转载,转载方法参考博客地址:https://blog.csdn.net/record_my_world/article/details/81567333
感想:为了转载美观,捡起HTML看了一下,觉得HTML语言也很有趣^_^

java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念:

  • 组件--Component
  • 容器--Container
  • 布局管理器--LayoutManager

组件

组件(Conponent)是图形用户界面最基本的部分,也称为构件,是可以以图形化的方式显示在屏幕上,并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将其放在一定的容器中才可以显示。 类java.awt.Component是许多组件类的父类,Component类中封装了组件通用的方法和属性,如图形的组件对象、大小、显示位置、前景色和背景色、边界、可见性等。

 

容器

容器(Container)也是一个类,实际上是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和容器。容器可以简化图形化界面的设计,以整体结构来布置界面。所有的容器都可以通过add()方法向容器中添加组件。常用的容器3种:Panel, Frame, Applet。

框架(Frame)

构造方法:

JFrame frame = new JFrame()

生成一个窗口,框架的外观就像平常Windows系统下的窗口,有标题、边框菜单和大小等。setSize()方法可以设置框架尺寸的大小,setVisibe()方法可以设置窗口的可见性

         frame.setSize(300,300);
         frame.setVisible(true);

1. JFrame常见用法:

setExtendedState(JFrame.MAXIMIZED_BOTH);//界面显示最大化

setUndecorated(true); // 去掉窗口的装饰,删除标题栏
getRootPane().setWindowDecorationStyle(JRootPane.NONE);//采用指定的窗口装饰风格

getRootPane().setWindowDecorationStyle()方法为窗口指定以下的装饰风格:

关键字功能
NONE无装饰(即去掉标题栏)
FRAME 普通窗口风格
PLAIN_DIALOG简单对话框风格
PLAIN_DIALOG简单对话框风格
INFORMATION_DIALOG 信息对话框风格
ERROR_DIALOG错误对话框风格
COLOR_CHOOSER_DIALOG拾色器对话框风格
FILE_CHOOSER_DIALOG文件选择对话框风格
QUESTION_DIALOG问题对话框风格
WARNING_DIALOG警告对话框风格

setMinimumSize(new   Dimension(500,400));//设置窗口最小的界面

setMaximumSize(new   Dimension(500,400));//设置窗口最大的界面

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//设置关闭按钮事件

setIconImage(Toolkit.getDefaultToolkit().createImage("pic.jpg"));//设置标题栏上左上角的图标


2. JFrame添加组件:

JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法:getContentPane 和 setContentPane 就是用于获取和设置其 Content Pane 的。

对JFrame添加组件有两种方式:

1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:

frame.getContentPane().add(childComponent)

2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:

JFrame jf = new JFrame("myJFrame");
JPanel jp = new JPanel();       //把其它组件添加到Jpanel中;
jf.setContentPane(jp);           //把contentPane对象设置成为frame的内容面板


面板(Panel)

面板是一种透明的容器,没有标题和边框。与Frame 不同,Panel不能作为最外层的容器单独存在,它首先必须作为一个组件放置在其他容器(一般为Frame)中,然后把组件添加到它里面。在java.swing中则是JPanel。

小程序(Applet)

框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口。与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局。


布局管理器

布局管理器(LayoutManager):每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小、尺寸时,就会调用其对应的布局管理器。使用布局管理器可以实现跨平台的特性,并且获得动态的布局效果。布局管理器负责管理组件的排列顺序、大小和位置。不同的布局管理器使用不同的布局策略,容器可以通过选择不同的布局管理器来决定如何布局。

流布局管理器(FlowLayout)

FlowLayout是Panel 和 Applet 的默认布局管理器。在该布局管理器中,组件在容器中按照从上到下,从左到右的顺序进行排列,行满后则换行。

构造方法较多,例如:

  • FlowLayout();默认构造方法,设置居中对齐方式,横向和纵向间隔均为默认5像素
  • FlowLayout(FlowLayout.LEFT);设置居左对齐,横向和纵向间隔均为默认5像素
  • FlowLayout(FlowLayout.RIGHT,20,40);设置居右对齐,横向间隔20像素,纵向间隔40像

边界布局管理器(BorderLayout)

构造方法:

BorderLayout是Window、Frame和Dialog的默认布局管理器,其将容器分成North、South、East、West和Center 5个区域,每个区域只能放置一个组件。在使用add()方法添加组件到容器时,必须指定将其放置在哪个区域中。使用BorderLayout时,如果容器大小发生变换,组件的相对位置不变。

网格布局管理器(GridLayout)

构造方法:

GridLayout 可使容器中的各个组件呈网格状布局,平局占据容器的空间,即使容器的大小发生变化,每个组件还是平均占据容器的空间。和FlowLayout一样,GridLayout也是按照从上到下,从左到右的规律进行排列的。

卡片布局管理器(CardLayout)

构造方法:

CardLayout能够帮助用户处理两个乃至跟多的成员共享同一显示空间。它把容器分成许多层,每层的显示空间占据整个容器的大小,并且每层之允许反之一个组件,可以通过Panel来实现每层复杂的用户界面。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是Java语言中导入JFrame类的语句,JFrame是Java Swing库中的一个类,用于创建图形用户界面(GUI)的顶层容器。正确的语法应该是: ``` import javax.swing.JFrame; ``` 该语句将JFrame类导入当前的Java源代码文件中,以便在代码中使用JFrame类的方法和属性。 ### 回答2: import javax.swing.JFrame是Java语言中引入javax.swing包中的JFrame类的一个语句。JFrame类是Swing库中的一个重要类,用于创建图形用户界面(GUI)的顶级窗口。通过使用import关键字引入该类,就可以在代码中直接使用JFrame类的方法和属性。 JFrame类是一个可扩展的窗口,可以作为应用程序的主窗口或者子窗口。它提供了一些用于管理窗口的功能,如设置窗口的标题、大小、位置以及关闭窗口的方式等。 使用JFrame类可以轻松地创建一个带有标题和边框的窗口,并将其他Swing组件添加到窗口中。这些组件可以是按钮、文本框、标签等,用于实现更复杂的图形界面。 在使用JFrame类之前,需要引入javax.swing包。javax.swing包是Java语言中提供的一组用于创建GUI的库,可以从中引入各种Swing组件和类。 总而言之,import javax.swing.JFrame;语句的目的是将javax.swing包中的JFrame类引入到代码中,以便在代码中可以直接使用JFrame类的方法和属性,从而实现创建和管理图形用户界面的窗口。 ### 回答3: import javax.swing.JFrame; 是Java中导入javax.swing包下的JFrame类。 JFrame是Java Swing库中提供的一个顶级容器类,用于创建一个窗口。通过导入javax.swing.JFrame,可以在使用该类时省略包名的前缀。 该类提供了创建和管理窗口的功能,可以通过JFrame对象来设置窗口的大小、标题、布局等属性。可以向JFrame中添加组件,如按钮、文本框等,来构建用户界面。JFrame还提供了方法来监听窗口事件,如窗口的打开、关闭、最小化等事件。 通过使用JFrame类,可以方便地创建一个图形化界面,并实现与用户的交互。可以通过调用JFrame的方法来修改窗口的外观和行为,使其满足特定的需求。 需要注意的是,由于JFrame属于Swing库,使用时需要先在代码中导入该类。当然,为了避免命名冲突,一般会使用import语句导入整个javax.swing包,然后再调用JFrame类。 总之,import javax.swing.JFrame; 是在Java中导入javax.swing包下的JFrame类,以方便使用该类创建和管理图形化窗口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值