为了账号安全,请及时绑定邮箱和手机立即绑定

Swing的常用窗体(初学者可以看一下,讲解较为基础)JFrame

标签:
Java

窗体作为Swing的应用程序中组件的承载体,处于非常重要的地位。Swing中常用的窗体包括JFrame和JDialog,在这里主要讲解这两个窗体的使用方法。

JFrame窗体

Swing 的三个基本构造块:标签、按钮和文本字段;但是需要个地方安放它们,并希望用户知道如何处理它们。JFrame 类就是解决这个问题的——它是一个容器,允许程序员把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。 JFrame 实际上不仅仅让程序员把组件放入其中并呈现给用户。比起它表面上的简单性,它实际上是 Swing 包中最复杂的组件。为了最大程度地简化组件,在独立于操作系统的 Swing 组件与实际运行这些组件的操作系统之间,JFrame 起着桥梁的作用。JFrame 在本机操作系统中是以窗口的形式注册的,这么做之后,就可以得到许多熟悉的操作系统窗口的特性:最小化/最大化、改变大小、移动。

常用方法

protected void

addImpl(Component comp, Object constraints, int index)

添加指定的子 Component。

protected JRootPane

createRootPane()

由构造方法调用,以创建默认的 rootPane。

protected void

frameInit()

由构造方法调用,以适当地初始化 JFrame。

AccessibleContext

getAccessibleContext()

获得与此 JFrame 关联的 AccessibleContext。

Container

getContentPane()

返回此窗体的 contentPane 对象

int

getDefaultCloseOperation()

返回用户在此窗体上发起 "close" 时执行的操作。

Component

getGlassPane()

返回此窗体的 glassPane 对象。

Graphics

getGraphics()

为组件创建一个图形上下文。

JMenuBar

getJMenuBar()

返回此窗体上设置的菜单栏。

JLayeredPane

getLayeredPane()

返回此窗体的 layeredPane 对象。

JRootPane

getRootPane()

返回此窗体的 rootPane 对象。

TransferHandler

getTransferHandler()

获取 transferHandler 属性。

static boolean

isDefaultLookAndFeelDecorated()

如果新创建的 JFrame 应该由当前外观为其提供 Window 装饰,则返回 true。

protected boolean

isRootPaneCheckingEnabled()

返回是否将对 add 和 setLayout 的调用转发到 contentPane。

protected String

paramString()

返回此 JFrame 的字符串表示形式。

protected void

processWindowEvent(WindowEvent e)

处理此组件上发生的窗口事件。

void

remove(Component comp)

从该容器中移除指定组件。

void

repaint(long time, int x, int y, int width, int height)

在 time 毫秒内重绘此组件的指定矩形区域。

void

setContentPane(Container contentPane)

设置 contentPane 属性。

void

setDefaultCloseOperation(int operation)

设置用户在此窗体上发起 "close" 时默认执行的操作。

static void

setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)

提供一个关于新创建的 JFrame 是否应该具有当前外观为其提供的 Window 装饰(如边框、关闭窗口的小部件、标题等等)的提示。

void

setGlassPane(Component glassPane)

设置 glassPane 属性。

void

setIconImage(Image image)

设置要作为此窗口图标显示的图像。

void

setJMenuBar(JMenuBar menubar)

设置此窗体的菜单栏。

void

setLayeredPane(JLayeredPane layeredPane)

设置 layeredPane 属性。

void

setLayout(LayoutManager manager)

设置 LayoutManager。

protected void

setRootPane(JRootPane root)

设置 rootPane 属性。

protected void

setRootPaneCheckingEnabled(boolean enabled)

设置是否将对 add 和 setLayout 的调用转发到 contentPane。

void

setTransferHandler(TransferHandler newHandler)

设置 transferHandler 属性,该属性是支持向此组件传输数据的机制。

void

update(Graphics g)

只是调用 paint(g)。

 

 

下面详细的讲解一下JFrame使用方法

JFrame jf =new JFrame(title);Container container =jf.getContenPane();//jf是类的对象container是Container类的对象,可以对JFrame对象调用getContenPane的方法进行获取//这里要有这样一个概念,就是Swing组件窗体通常和组件和容器有关,所以在JFrame对象创建完成后,需要调用getContenPane进行将窗体转化为容器,然后在容器中进行添加或者删除组件

 

import java.awt.*;import javax.swing.*;public class Example1 extends JFrame {//	public void CreateJFrame(String title) {		JFrame jf=new JFrame(title);		Container container =jf.getContentPane();		JLabel jl=new JLabel("大家好,我是高维远");		jl.setHorizontalAlignment(SwingConstants.CENTER);		container.add(jl);		container.setBackground(Color.WHITE);		jf.setVisible(true);		jf.setSize(300,200);		jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);	}	public static void main(String[] args) {		new Example1().CreateJFrame("高维远的示例");	}}

这里面进行讲解一下,首先,JFrame是被我们的朱类example1继承的,在CreateJFrame这个方法中,实例化JFrame对象

而JFrame的构造方法有两种,一种含参一种无参public JFrame(String title)

然后说一下给予窗体 的关闭方式吧

差不多有四种

DO NOTHING ON CLOSE

DISPOSE ON CLOSE

HIDE ON CLOSE

EXIT ON CLOSE

这四种分别是1什么都不做将窗口关闭2任何注册监听程序对象后自动隐藏并释放窗体

3隐藏窗口的迷人窗口关闭

4退出应用程序默认窗口关闭

原文出处:https://blog.csdn.net/gaoweiyuan1996/article/details/81231090

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消