package com.swing;

import java.awt.Color;
import java.awt.Container;
import java.awt.event.WindowAdapter;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

/**
 *1:Swing组件通常被称作"轻量级的组件";
 *
 *2:窗体作为Swing应用程序中组件的承载体,处于非常重要的位置,Swing中常用的窗体包括
 *JFrame,JDialog
 *
 *3:JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些
 *Swing组件的容器
 *
 *4:读者大致应该有这样一个概念
 *Swing组件的窗体通常和组件的容器相关,所以在JFrame对象创建完成后,
 *需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件
 *或设置布局管理器,通常这个容器用来包含和显示组件,如果需要将组件添加到容器,
 *可以使用来自Container类的add()方法进行设置。
 *
 *
 *过程如下
 *第一创建一个JFrame窗体对象
 *第二通过getContentPane()方法将窗体转化为容器
 *第三在容器中添加组件或设置布局管理器
 *第四通常这个容器用来包含和显示组件
 * @author biexiansheng
 *
 */

/**

实例为简单学习JFrame

*/
public class JFrameTest extends JFrame{//定义一个类继承JFrame类

    public void CreateJFrame(String title){//定义一个CreateJFrame方法
        JFrame jf=new JFrame(title);//实例化一个JFrame对象
        Container container=jf.getContentPane();//获取一个容器
        container.setBackground(Color.blue);//设置容器的背景颜色
        jf.setVisible(true);//使窗体可视
        jf.setSize(200, 150);//设置窗体大小
        //jf.setBounds(200,200,450,450);//设置窗体的位置和大小
        //设置窗体的关闭方式
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        
    }
    public static void main(String[] args) {
        //在主方法中调用CreateJFrame()方法
        JFrameTest jf=new JFrameTest();
        jf.CreateJFrame("创建一个JFrame窗体");
    }
}

//实例演示JLabel标签的使用,实例化JLabel对象,然后将标签实例添加到容器中,然后可以设置容器的布局,

package com.swing;

import java.awt.Color;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;

public class JLabelTest {

    public void CreateJLabel(){
        JFrame jf=new JFrame();//实例化JFrame对象
        Container container=jf.getContentPane();//将窗体转化为容器
        //接下来就可以在容器中添加组件或者设置布局管理器
        JLabel jl=new JLabel("这是一个JLabel标签窗体");//实例化JLabel对象
        //设置字体居中显示,下面两行代码功能一样
        jl.setHorizontalAlignment(JLabel.CENTER);
        //jl.setHorizontalAlignment(SwingConstants.CENTER);
        container.add(jl);//将标签添加到容器中
        container.setBackground(Color.RED);//设置容器的背景颜色
        
        //下面设置窗体的一些格式
        jf.setTitle("这是窗体左上角显示的");
        jf.setVisible(true);//设置窗体可视化
        jf.setSize(450, 400);//设置窗体的大小
        //设置窗体的关闭方式
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        JLabelTest jl=new JLabelTest();
        jl.CreateJLabel();
    }
}

 

JAVA学习中Swing概述中的JFrame学习的更多相关文章

  1. 01 Java图形化界面设计——容器(JFrame)

    程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构,现在就进入java图形化界面编程. 一.Jav ...

  2. JAVA学习中Swing部分JDialog对话框窗体的简单学习

    package com.swing; import java.awt.Color;import java.awt.Container;import java.awt.event.ActionEvent ...

  3. Java学习-040-级联删除目录中的文件、目录

    之前在写应用模块,进行单元测试编码的时候,居然脑洞大开居然创建了一个 N 层的目录,到后来删除测试结果目录的时候,才发现删除不了了,提示目录过长无法删除.网上找了一些方法,也找了一些粉碎机,都没能达到 ...

  4. Java:类集框架中集合的学习

    Java:类集框架中集合的学习 集合 Java:Set的学习 Set是类集框架中的集合类.集合是不按特定的方式排序,并且没有重复对象的一种类. Q:Set如何操作?Set中的不按特定方式排序是怎么排序 ...

  5. Java学习之Swing Gui编程

    Java学习之Swing Gui编程 0x00 前言 前面的使用的Gui是基于Awt 去进行实现,但是在现实写Gui中 AWT实际运用会比较少. 0x01 Swing 概述 AWT 和Swing 区别 ...

  6. Java虚拟机JVM学习01 流程概述

    Java虚拟机JVM学习01 流程概述 Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序. 当启动一个Java程序时,一个虚拟机实例诞生:当程序关闭退出,这 ...

  7. [Hadoop] Hadoop学习历程 [持续更新中…]

    1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...

  8. Java多线程2:Thread中的实例方法

    Thread类中的方法调用方式: 学习Thread类中的方法是学习多线程的第一步.在学习多线程之前特别提出一点,调用Thread中的方法的时候,在线程类中,有两种方式,一定要理解这两种方式的区别: 1 ...

  9. Java 数据类型在实际开发中应用

    在前边的博文中,我已经介绍了Java核心的容器IO等,现在我来说一下java中的数据类型.在java中,一切东西皆为对象(这句话意思是java中绝大数情况都用对象),极少数不是对象的,也存在与之对应的 ...

随机推荐

  1. 笔记本Linux推荐

    1.CUB LINUX Cub Linux 是一个最好的选择.他的前身来自著名的 Chromium OS , Cub Linux 能够运行在各种各样的笔记本上面.即便是早年的老机,亦或是现在的新机.从 ...

  2. CSS从大图片上截取小图标的操作以及三角形的画法

    #name{ background:url(images/name.png) no-repeat 2px 2px; background-position: -2px -70px;//其中这个是定位图 ...

  3. linux--杂记(rework)

    1.The mind behind Linux https://www.ted.com/talks/linus_torvalds_the_mind_behind_linux 2.Emacs ORG-M ...

  4. 503 Service Temporarily Unavailable

    503 Service Temporarily Unavailable 最近网站刷新后经常出现503 Service Temporarily Unavailable错误,有时有可以,联想到最近在ngi ...

  5. 2016/10/28 很久没更了 leetcode解题 3sumcloset

    16.3Sum Closest Given an array S of n integers, find three integers in S such that the sum is closes ...

  6. mybatis generate 自动生成 entity dao 和 xml 文件

    其中的一种方式 ,使用maven 插件 <build> <plugins> <plugin> <groupId>org.mybatis.generato ...

  7. 1029. Median (25)

    分析: 考察归并排序,用简单的快排会超时. #include <iostream> #include <stdio.h> #include <algorithm> ...

  8. JS初级-作用域

    作用域:域:空间.范围.区域--作用:读.写    script        全局变量.全局函数        自上而下        函数        由里到外        {}    浏览器 ...

  9. java中的匿名内部类小结

    匿名内部类也就是没有名字的内部类.正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写. 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口. 实例1:不使用匿名内部类来实现 ...

  10. Python 中 sqlite3的使用

    Python 中 sqlite3的使用 一.sqlite安装 下载地址 http://www.sqlite.org 1.数据库生成 sqlite3.exe testdb 2.创建表格,插入数据 3.在 ...