Swing组件中不仅有JFrame 和 JDialog 这样的顶级容器,而且提供了一些面板组件(也称为中间容器)。面板组件不能单独存在,只能放置在顶级窗口容器中。最常见的面板组件有两种,分别是JPanel和 JSerollPane,下面分别介绍这两种面板组件。
1.JPanel
JPanel面板组件是个无边框且不能被移动、放大、缩小或者关闭的面板,它的默认布局管理器是FlowLayout。也可以使用JPanel带参数的构造函数JPanel (LayoutManager layout)或者setLayout()成员方法设置JPanel布局管理器。
JPanel面板组件类并没有包含多少特殊的组件操作方法,大数都是从父类(如 Container)继承过来的,使用也非常简单。
2. JScrollPane
JScrollPane是一个带有滚动条的面板,面板上只能添加一个组件。如果想向JScrollPane面板中添加多个组件,应该先将多个组件添加到某个组件中,然后将这个组件添加到JScrollPane中。
JScrollPane的常用构造法如表所示。
表 JScrollPane的常用构造方法
如果在构造方法中设定显示组件和滚动条策略,可以调用JScrollPane提供的成员方法法进行设置,JScrollPane面板滚动策略的执行方法如表所示
关于上述介绍的JScolPlane 面板组件滚动策略的设置方法,ScollPande 接口声明了多个常量属性,可以用来设置不同的滚动策略。
JscolPame的滚动属性如表所示。
表 JSrollPane 的滚动属性
下面通过一个案例演示面板组件的基本用法,如文件所示。
文件 Example11java
Import java.awt.*;
import javax. swing.*;.
public class Examplell {
private static void createAndshowGUI (){
// 1创建一个JFrame容器窗口
JFrame f = new JFrame ("PanelDemo") ;
f,setLayout (new BorderLayout () ) ;
f.setsize (350,200 )
f.setlocation (300,200 )
f. setVisible(ture)
f. setDefaultCloseOperation(JFrame.EXIT ON CLOSE) ;
// 创建JScrollPane滚动面板组件
JScrollPane scrollPane =new JSscrollPane
设置水平滚动条策略--滚动条需要时最示
scrollPane.setHorizontalScrolIBarpolicy
SerollPaneConstants HORIZONTAL_SCROLLBAR_ALWAYS) ”
//定义一个JPanel面板组件
JPanel pane = new JPanel();
// JPanel 面板中加4个按钮
panel.add (new JButton(按钮“1") ) ;
panel.add (new JButton(按钮“2") ) ;
panel.add (new JButton(按钮“3") ) ;
panel.add (new JButton(按钮“4") ) ;
设置JPanel面板在滚动面板中JScrollPan中显示
scrollPane.setviewportView(pane)
向JFrame容窗口中添加JSCrollpane中显示 CENTER) ;
scrollPane,BroderLayout.CENTER);
}
Public static void main(String[ ] args) {
//使用SwingUtilitles工具类调用 createAndShowGUI( )方法并显示GUI程序
SwingUtilitleh1ities . invokeLater(Exampll;;createAndShowGUI);
}
}
第4~31代码定义了createAndShowGUI( )方法,其中,第6-11行代码创建了一个名为scollPane的滚动面板组件,第15~ 16行代码设置水平滚动条策略为滚动条需要时显示:第18~ 19行代时设置垂直滚动条策略为滚动条一直显示;第21~26行代码创建创建了一个面板组件pane并在panel中添加了4个按钮,第28行代码设置panel面板在滚动面板sollane中显示:第30行代码向f容器窗口中添加滚动面板组件srellPane最后,在main() 方法中使用SwingUtilities工具类封装好的createAndShowGUI( )方法显示CUI程序。
Java最新课程:
Java零基础视频教程(2022最新Java入门,含斯坦福大学练习题+力扣算法题
Java基础入门:
java零基础自学首Java入门教程(含Java项目和Java真题)
Javaweb核心基础
JavaWeb基础教程,Java web从入门到企业实战完整版
Spring Cloud最全微服务架构:
史上最全面的springcloud微服务技术栈
SSM框架教程:
SSM框架教程_Spring+SpringMVC+Maven高级+Spring
SpringBoot2全套视频教程:
SpringBoot2全套视频教程,springboot零基础到项目实战
上一篇:用户标签体系建设