JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器。

 在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在这个窗体中添加组件,同时为组件设置事件。JFrame在程序中的语法格式如下:

 JFrame jf=new JFrame(title);  // jf: JFrame类的对象

 Container container=jf.getContentPane();  //container: Container类的对象,可以使用JFrame对象调用getContentPane()方法获取。

  备注:思路:Swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器。通常,这个容器用来包含和显示组件。如果需要将组件添加至容器,可以使用来自Container类的add()方法进行设置。  

import java.awt.Color;
import java.awt.Container; import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants; public class Example1 extends JFrame {
public void CreateJFrame(String title){
JFrame jf=new JFrame(title);
Container container=jf.getContentPane();//获取一个容器
JLabel jl=new JLabel("这是一个JFrame窗体");//创建一个JLabel标签
jl.setHorizontalAlignment(SwingConstants.CENTER);//使标签上的文字居中
container.add(jl);//将标签添加到容器中
container.setBackground(Color.white); //设置容器的背景颜色
jf.setVisible(true);//使窗口可视
jf.setSize(200, 150);//设置窗体大小
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭方式
}
public static void main(String args[]){
new Example1().CreateJFrame("创建一个JFrame窗体"); //在主方法中调用CreatJFrame()方法
}
}
注释:
1)JFrame类的常用构造方法包括以下两种形式:
  public JFrame()
  public JFrame(String title)
  JFrame类中的两种构造方法分别为无参的构造方法与有参的构造方法。第一种形式的构造方法可以创建一个初始不可见、没有标题的新窗体;第二种形式的构造方法可以创建一个不可见但具有标题的窗体。可以使用JFrame对象调用show()方法使窗体课件,但是该方法早已被新版JDK所启用,通常使用setVisible(true)方法使窗体可见。
  可以使用setSize(int x, int y)方法设置窗体的大小. 其中x与y变量分别代表窗体的宽与高。
  创建窗体后,需要给予窗体一个关闭方式,可以调用setDefaultCloseOperation()方法关闭窗体。Java为窗体关闭提供了多种方式,常用的有以下4种:
    DO_NOTHING_ON_CLOSE; DISPOSE_ON_CLOSE; HIDE_ON_CLOSE; EXIT_ON_CLOSE
  第1种退出方式代表什么都不做就窗体关闭;第2种退出方式代表任何注册监听程序对象后会自动隐藏并释放窗体;第3种方式表示隐藏窗口的默认窗口关闭;第4中退出方式表示退出应用程序默认窗口关闭。

  运行结果如图:

  

第13章 Swing程序设计----JFrame窗体的更多相关文章

  1. 第13章 Swing程序设计----JDialog窗体

    JDialog窗体是Swing组件中的对话框 JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样. 在应用程序中创建JDialog窗体需要实例化JDia ...

  2. 第13章 Swing程序设计

    1.Swing概述 GUI(图形用户界面)为程序提供图形界面,最初的设计目的是为程序员构建一个通用的GUI,使其能够在所有平台上运行.但Java 1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要 ...

  3. 第13章 Swing程序设计----常用面板

    面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中. Swing常用的面板包括JPanel面板和JScrollPanel面板. 1.JPanel面板 import j ...

  4. 第13章 Swing程序设计----标签组件与图标

    在Swing中显示文本或提示信息的方法是使用标签.本节将探讨Swing标签的用法.如何创建标签,以及如何在标签上放置文本和图标. 1.标签的使用 标签可以显示一行只读文本.一个图像或带图像的文本,它并 ...

  5. 第13章 Swing程序设计----常用事件监听器

    组件本身并不带有任何功能.这时需要为这些组件添加特定事件监听器. Swing中常用的两个事件监听器,即动作事件监听器和焦点事件监听器.

  6. 第13章 Swing程序组件----常用布局管理器

    在Swing中,每个组件在容器中都有一个具体的位置和大小,而在容器中摆放各种组件时很难判断其具体位置和大小.布局管理器提供了Swing组件安排.展示在容器中的方法及基本的布局功能. Swing提供的常 ...

  7. Java核心技术卷一基础知识-第7章-图形程序设计-读书笔记

    第7章 图形程序设计 本章内容: * Swing概述 * 创建框架 * 框架定位 * 在组件中显示信息 * 处理2D图形 * 使用颜色 * 文本使用特殊字体 * 显示图像 本章主要讲述如何编写定义屏幕 ...

  8. Java面向对象笔记 • 【第10章 Swing编程初级应用】

    全部章节   >>>> 本章目录 10.1 JFrame窗口容器 10.1.1 Swing介绍 10.1.2 JFrame窗口容器应用 JFrame常用方法 10.1.3 实践 ...

  9. Java Swing快速构建窗体应用程序

    以前接触java感觉其在桌面开发上,总是不太方便,没有一个好的拖拽界面布局工具,可以快速构建窗体. 最近学习了一下NetBeans IDE 8.1,感觉其窗体设计工具还是很不错的 , 就尝试一下做了一 ...

随机推荐

  1. HTTP状态码含义

    本文内容是在有道云笔记中找到的,已不知复制自何处,抱歉 一些常见的状态代码为:200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务器暂时不可用   1xx(临时响应) 用于表 ...

  2. tablespace

    CREATE [UNDO] TABLESPACE tablespace_name [DATAFILE datefile_spec1 [,datefile_spec2] ...... [{MININUM ...

  3. instanceof运算符、Class的isInstance( )与isAssignableFrom之间的区别

    instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化.如果被测对象是null值,则测试结果总是false.形象地:自身实例或子类实例 instance ...

  4. Devstack single node Installation on VM

    Last three days, I want to install devstack on my virtual machine on Vmware Workstation.The VM'syste ...

  5. 模仿快递路线图的html, css 样式

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. 关于C++中的重定位

    "标准库定义了4个IO对象,处理输入时使用命名为cin的istream类型对象,这个对象也成为标准输入.处理输出时使用命名为cout的ostream类型对象,这个对象也称为标准输出.标准库还 ...

  7. Linux常用命令及重要目录文件分析总结

    1.用户切换和更改密码 sudo -i / sudo su --->切换到root用户 su user --->从root用户切换回普通用户(/home/user) sudo passwd ...

  8. ACdream 1726 A Math game

    深搜.不过有一个强大的剪枝.就是假设之后的全部用上都不能达到H,则return. if (A[n]-A[x-1]+summ< H) return; //A[n]表示前nx项和 #include& ...

  9. asp.net javascript客户端调用服务器端方法

    如何用js调用服务器端方法.首先服务器端方法的格式如下 [System.Web.Services.WebMethod]        public static void serverMethod(s ...

  10. HDU 2461 Rectangles#容斥原理

    http://acm.hdu.edu.cn/showproblem.php?pid=2461 题目很简单,但是由于询问数M可以很大,所以容易超时,这道题学到了在结构体里面写函数的方法,这样子效率更高, ...