中间容器

155 阅读2分钟

「这是我参与11月更文挑战的第27天,活动详情查看:2021最后一次更文挑战

JPanel类

1.最常用的中间容器是JPanel类的对象

2.可以为JPanel类的对象设置布局,向其中添加 组件,然后将JPanel类的对象作为一个整体添 加到窗体或其它容器中

JPanel类的构造方法

public JPanel()

1.JPanel类的对象的默认布局是FlowLayout

2.JPanel类的对象可以调用setLayout方法更改布局

 例如

JPanel panel = new JPanel();panel.setLayout(new GridLayout(1, 2));

在这里插入图片描述

JScrollPane类

1.有时组件很大,不能在有限的屏幕范围内观察 这个组件的全貌

2.可以创建中间容器JScrollPane类的对象,通过 滚动条来观察整个组件

JScrollPane类的构造方法

1.public JScrollPane(Component view)

• view是要查看的组件

在这里插入图片描述

JSplitPane类

1.JSplitPane类的对象被称为拆分窗格

2.拆分窗格有水平拆分和垂直拆分

3.水平拆分把容器分为左右两部分

4.垂直拆分把容器分为上下两部分

5.拆分线可以移动

JSplitPane类的构造方法

public JSplitPane(int a,view1,view2)

• 其中,a为拆分方式,可以取值为

JSplitPane.HORIZONTAL_SPLIT

JSplitPane.VERTICAL_SPLIT

view1和view2是组件

JSplitPane类的对象可以调用如下方法设置 拆分线的位置

setDividerLocation(double position)

在这里插入图片描述

在Swing中不仅有JFrame、JDialog这样的顶级窗口,还拥有一些中间容器,这些容器不能单独存在,必须依存在顶级窗口中。最常见的是JPanel、JScrollPane。

JPanel:JPanel和AWT中的Panel组件使用方法基本一致,他是一个无边框不能被放大、移动、关闭的面板,它的默认布局管理器是FlowLayout,当然这是可以使用setLayout()方法重新设置的

JScrollPane :与JPanel不同的是,JScrollPane是一个带有滚动条的面板容器而且这个面板只能添加一个组件,如果想添加多个组件就必须先把多个组件添加到Panel中再将Panel添加到JScroollPane中

image.png

将组件添加到JFrame中

方式之一:

frame.getContentPane().add(childComponent)

用getContentPane()方法获得JFrame的内容面板,再对其加入组件,一般只使用该方式添加组件。

 

向JFrame中添加组件的两种方式之二:

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

    Jpanel contentPane=new Jpanel( );

      ……//把其它组件添加到Jpanel中;

frame.setContentPane(contentPane);

 

注意:用setContentPane()方法不允许设置窗体布局,其只显示最后添加的组件,且该组件将布满整个窗口,而不管原先组件的大小设置,相当于只允许添加一次组件作为JFrame的内容面板。所以一般不实用该方法进行添加组件(可能是我不知道吧)。