JAVA学习中Swing概述中的JFrame学习

一.JFrame概述

1.JFrame是一个顶层的框架类,好比一个窗户的框子。也是一个容器类。这个框子可以嵌入几个玻璃窗。

2.JPanel是一个容器类,相当于一大玻璃窗。

3.JLabel等是一些基础组件,它必须置于某个容器里,类似于窗花、剪纸,必须置于窗户的表面。

注意:JFrame自带了一个玻璃窗。可以通过语句 Container c=getContentPane(); 获得该内容窗格。

也可以定制一个新的玻璃面板替换原来的自带的玻璃窗,代码如下:

JPanel jp=new JPanel();

this.setContentPane(jp);

二.

1.实例为简单学习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窗体");
    }
}

2.实例演示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();
    }
}