博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swing学习笔记1-----Swing组件类的层次
阅读量:5117 次
发布时间:2019-06-13

本文共 1779 字,大约阅读时间需要 5 分钟。

1.  从结构上划分

Swing 组件类分为两种,一种是JComponent类,一种是Windows类.其中windows类包含的是一些可以独立显示的组件,而JComponent类包含的是不可以独立显示的组件.

什么是可独立显示的组件和不可独立显示的组件?

可独立显示的组件:当运行一个程序时,可独立显示的组件无需在其他组件上即可显示,即它可以直接显示出来,例如JFrame类.

不可独立显示的组件:运行时,必须依靠可独立显示的组件才能将其显示出来,如JLabel类,JButton类,得托付在类似于JFrame类上才能显示出来.

2.从功能上划分

从功能上划分分为:顶层组件,中间组件和基本组件.

顶层容器:JFrame,JDialog,JApplet,JWindow.所谓的顶层容器,也就是之前讲的Window组件,是可以独立显示的.

中间容器:JPanel,JScrollPane,JSplitPane,JToolBar.所谓的中间容器也就是指那些可以充当载体但是不能独立显示的组件,就是一些基本组件可以依托在其中,但是也不能独立显示,必须依托在顶层容器中才行.

特殊容器:在GUI上其特殊作用的中间层,如JInternalFrame,JLayeredPane,JRootPane.这里的特殊容器其实也是中间容器类的一种,只不过在图形上更加能够起到专业和美化的作用.

基本组件:能起到人机交互的组件,如JButton,JLabel,JComboBox,JList,JMenu,JSlider,JTextField.

注:要添加基本组件,一定要添加中间容器来承载.

以下示例能很好的描述这个问题:

public class Test {    public static void main(String[] args) {        JButton jButton = new JButton("test");    }}

这段代码运行后没有任何显示.

再看这段代码

public class Test {    public static void main(String[] args) {        JFrame jFrame = new JFrame("test");        JButton jButton = new JButton("test");        jButton.setSize(10,20);        jFrame.add(jButton);        jFrame.setSize(400,300);        jFrame.setVisible(true);        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);    }}
运行结果如图所示:
 
尽管设置了jButton的大小为10,20.但是依然充满了整个Frame.
为了实现jButton的大小为10,20,必须添加一个中间容器来承载才行.
再看如下代码:
 
public class Test {    public static void main(String[] args) {        JFrame jFrame = new JFrame("test");        JButton jButton = new JButton("test");        JPanel pane = new JPanel();        jFrame.setContentPane(pane);        jButton.setSize(10,20);        jFrame.setSize(400, 300);        pane.add(jButton);        jFrame.setVisible(true);        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);    }}

运行结果:

这样就达到了我们的设计目的.

转载于:https://www.cnblogs.com/clover9/p/4666827.html

你可能感兴趣的文章
python if else elif statement
查看>>
网络编程
查看>>
文本隐藏(图片代替文字)
查看>>
java面试题
查看>>
提高码力专题(未完待续)
查看>>
pair的例子
查看>>
前端框架性能对比
查看>>
@property中 retain 详解
查看>>
uva 387 A Puzzling Problem (回溯)
查看>>
12.2日常
查看>>
Delphi 取整函数round、trunc、ceil和floor
查看>>
C/C++二维数组的用法
查看>>
排序 冒泡排序法
查看>>
同步代码时忽略maven项目 target目录
查看>>
MVC.NET:提供对字体文件.woff的访问
查看>>
Informatica_(2)第一个例子
查看>>
string 常用函数
查看>>
RGB色彩的计算机表示
查看>>
朱元璋
查看>>
Oracle中包的创建
查看>>