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. Space Shooter

    项目:https://pan.baidu.com/s/1jIDe2H4 using UnityEngine; using System.Collections; namespace VoidGame ...

  2. Android;设置TextView加粗 代码设置

    我用过paint的那种方式,不好使. private void setTextBold(TextView textView) { //android中为textview动态设置字体为粗体 textVi ...

  3. blog地址

    1  Java 设计模式  http://www.cnblogs.com/java-my-life/

  4. github import repository创建github仓库

    现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫blog: 1.先创建一个项目仓库 2. 我们勾选Initialize th ...

  5. 基于jdk调用天气服务案例及问题

    问题1:解析wsdl文件时出现 把网络上的wsdl保存到本地,把圈起来的那段删掉 代码: 当返回结果不是String类型时: 输入城市编码去查找 所以: 问题二:如果把本地wsdl文件删除的话需要 三 ...

  6. 使用MegaCli工具,在线调整raid配置

    公司hadoop平台采购了一批浪潮服务器,2个系统盘,12个数据盘.先想的用直通的raid卡免得再做单盘raid0麻烦,结果这批机器配的卡也不支持裸盘使用,咨询浪潮客服,说可以使用JBOD的模式进行, ...

  7. C-Free 5.0编译失败问题解决办法

    解决关于C-Free 5.0编译时提示错误:[Error] undefined reference to `__dyn_tls_init_callback' 解决办法: 因为错误提示的路径是C:\Mi ...

  8. CentOS7 安装 Mysql 服务

    我希望所有的软件包都用 rpm.yum 安装,这样卸载.升级.管理方便,可是自带的 yum 仓库里面没有 mysql-server 或者不是最新的,我需要安装MySQL官方的 yum 仓库, http ...

  9. $_SERVER 等超全局数组的用法 $_COOKIE $_GET $_SESSION

    $_SERVER 服务器和执行环境信息 例如 $_SERVER['SERVER_NAME']; 当前运行脚本所在的服务器的主机名.如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定.$_G ...

  10. HDU 1907 John(取火柴博弈2)

    传送门 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int ...