java的swing组件_java-swing-基本组件

不乱于心,不困于情,不念过去,不惧将来

SWING

swing库是AWT(Abstract Windowing Toolkit)的一个扩展,AWT是java 1.0为支持图形编程而提供的一个包。在功能方面,Swing在其前身的基础上做了很多改进:新组件,扩展的组件特性,更好的时间处理功能和可选择的外观.Swing组件不同于AWT,它是完全由java实现的,这使得它比AWT具有更好的跨平台兼容性。Swing的所有成员都是javax.swing包的一部分,使用swing,需要先用import导入上述包。Swing能够让我们使用操作系统的风格或者新的风格来创建java程序的界面。

swing组件分类

顶层容器:JFrame、JApplet、JDialog、JWindow共4个中间容器:JPanel、JScrollPane、JSplitPane、JToolBar基本控件: ImageIcon(图标),JLabel(标签),ITextField(文本框),JTextArea(文本区域),JScrollPane(可滚动窗格),JScrollBar(滚动条),ICheckBox(复选框),JRadioButton(单选按钮),JComboBox(下拉式列表和组合框)。

1、JFrame,JDialog,JWindow与JApplet这四个组件我们统称为最上层(Top-Level)组件,因为其余的Swing组件都必须依附在此四组件之一上才能显示出来。 2、最上层的四个组件都实现了RootPaneContainer接口,RootPaneContainer定义了各种容器取得与设置的方法,这里的容器包括JRootPane,GlassPane,LayeredPane,和ContentPane.

JRootPane的组成结构,并非继承结构:

JRootPane

--Glass Pane

--Layered Pane

--Content Pane

--Menu Bar

3、JRootPane包含有GlassPane 与 Layered Pane,而Layered Pane又包含有ContentPane与Menu Bar,其中程序设计者可选择是否使用MenuBar,若没有使用Menu Bar,则ContentPane就会占据整个版面。 4、GlassPane:它是一个透明的面版,主要功能是它或以捕获JFrame上的任何事件。GlassPane的默认值是不可看见的,不过可以将它设为看见的(visible),例如若要在GlassPane上做绘图的工作,就可以在GlassPane上显示出来! 5、四个上层组件类中都有一个默认容器为rootPane,rootPane是JRootPane类型的,但JRootPane类型并不算是真实的容器,我们不能在JRootPane上加入任何的组件!要加必须加在LayeredPane或者是LayeredPane 里的ContentPane上。 6、LayeredPane:它是一个可以重叠组件的面版,本身就是一个容器,可以将它看成是相当多层的置物架,每一层都可以放置物品,而且上面的物品会遮隹下面的物品。 7、ContentPane:是最重要的,且是最常到的容器。它是LayeredPane中的一层,一般视为最底层。通常我们会将组件放在ContentPane上,而不会加在LayeredPane中,因为若将组件加入LayeredPane中必须自选管理组件间层次的关系,这会加重程序维护的困难度。若将组件放入ContentPane,对于像工具栏(ToolBar),PopupMenu等组件,Java会自动高速其层次关系。

创建界面

要创建Swing应用程序,首先要创建一个表示图形界面的类。这个类的对象将被用作容器,用于放置要显示的其他组件。在大多数情况下,主界面是一个简单的窗口(JWindow)或者是一个叫做框架的界面(JFrame类)。窗口(JWindow)是一个容器,可被显示到用户界面上。简单窗口没有标题栏,最大化,最小化,和关闭按钮,也没有图形用户界面操作系统的窗口中最常用的其他元素。包括这些创口管理特性的窗口被称为框架(JFrame)。

创建图形swing应用程序的方式

把界面声明为JFrame或JWindow的子类

class MyJframe extends JFrame{

}

在该类的构造方式中调用父类的构造方法来处理其设置。JFame有两个构造函数JFrame(),JFrame(String),后者字符串为标题栏。设置框架窗口的大小,单位为像素,调用其setSize方法设置框架窗口的大小,单位为像素,调用其setSize方法。决定窗口关闭窗口时如何办决定窗口关闭窗口时如何办。每个框架的标题栏都有最大化,最小化,和关闭按钮,在java中,当框架被关闭时,正常情况下是让程序继续执行这样必须调用框架的方法setDefaultCloseOperation(),这个方法有四种参数:EXIT_ON_CLOSE:框架被关闭时退出程序;DISPOSE_ON_CLOSE:框架被关闭时,释放框架对象并继续运行应用程序;DO_NOTHING_ON_CLOSE:打开框架窗口并继续运行程序;HIDE_ON_CLOSE:关闭框架窗口,并继续运行程序。显示框架显示框架 如果希望框架被创建后便显示出来,可在构造方法中调用setVisible(true)或show()。

package SwingDemo;

import javax.swing.JFrame;

class MyJframe extends JFrame{

/**通过该类可建立一个JFrame的框架

* 重载了构造函数,可选择是否带标题

*/

public MyJframe(String s,int len,int weight){

super(s);//标题

setSize(len,weight);//框架大小

setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);//关闭方式

setVisible(true);//创建时显示

}

public MyJframe(int len,int weight){

super();

setSize(len,weight);

setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

setVisible(true);

}

}

public class swingDemo {

public sta

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值