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. log4net记录日志到数据库自定义字段

    假设数据库中有如下自定义字段:   1.根据自定义字段定义日志信息对象     public class MessageLog     {           /// <summary> ...

  2. python profile

    一.profile,cProfile 1. python -m cProfile myprogram.py python -m profile myprog.py2. 使用import profile ...

  3. 10个你必须掌握的Linux超酷VI命令技巧

    大部分Linux开发者对vi命令相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率. 在使用 ...

  4. 今天想用jquery来实现div的拖放功能

    html5标签.拖放(Drag 和 drop)是 HTML5 标准的组成部分. 步骤一:首先设置标签可以被拖 draggable="true" 步骤二:选取被拖的标签,和要放置被拖 ...

  5. 20145321 Git的安装使用及今后学习规划

    20145321 Git的安装使用及今后学习规划 Git安装使用及解决遇到的问题 之前上传代码都没有按照老师的方法弄,当时看到git教程感觉很麻烦,于是都是写完之后再一个个 程序贴上去,而现在使用过后 ...

  6. 云计算和大数据时代网络技术揭秘(八)数据中心存储FCoE

    数据中心存储演化——FCoE   数据中心三大基础:主机 网络 存储 在云计算推动下,存储基础架构在发生演变 传统存储结构DAS.SAN在发展中遇到了布线复杂.能耗增多的缺点(原生性),需要对架构做根 ...

  7. oracle 中文乱码---查看和修改客户端字符集

    客户端NLS_LANG的设置方法 Windows: # 常用中文字符集set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK # 常用unicode字符集 set ...

  8. QEMU中smp,socket,cores,threads几个参数的理解

    在用QEMU创建KVM guest的时候,为了指定guest cpu资源,用到了-smp, -sockets, -cores, -threads几个参数, #/usr/bin/qemu-system- ...

  9. DataTime格式化大全(转载)

    //c datetime 格式化 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21:25 Label2 ...

  10. <input type="file" />浏览时只显示指定文件类型

    <input type="file" />浏览时只显示指定文件类型 <input type="file" accept="appli ...