窗口设置

/**
 * 这个是GUI的事例程序;
 *
 */
package w160412.wang.main;

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.ObjectInputStream.GetField;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
 * @author 作者
 *
 * 2016年4月12日
 *
 */
public class GUI {
    public static void main(String[] args) {
        //创建窗体:
        JFrame jframe = new JFrame("JAVA_GUI_DEMO");
        
        /**
         * 设置窗体:
         */
        
        //设置名字:jframe.setTitle(name);
        
        //设置大小:
        jframe.setSize(500, 400);
        
        //设置位置:
        jframe.setLocationRelativeTo(null);
        
        //设置窗口图片,保证setIconImage();得到的是一个Image对象;
        ImageIcon img = new ImageIcon("image/java.png");
        jframe.setIconImage(img.getImage());

//        jframe.setIconImage(Toolkit.getDefaultToolkit().createImage("image/1.png"));
        
        //设置背景颜色
//        jframe.setBackground(Color.green);
//        jframe.setBackground(new Color(204, 255, 204));
//        jframe.getContentPane().setVisible(false);    //设置窗体,隐藏窗体的contentPane;

        jframe.getContentPane().setBackground(new Color(204, 255, 204));    //将窗体的contentPane 设置颜色;
        
        //设置背景图片(这个是错的
        Container con = jframe.getContentPane();
        JLabel jlb= new JLabel(new ImageIcon(Toolkit.getDefaultToolkit().createImage("image/chutian.jpg")));
        jlb.setBounds(0, 0, jlb.getWidth(), jlb.getHeight());
        jframe.add(jlb);
            
        //设置关闭功能
        jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        //设置窗口是否改变大小
        jframe.setResizable(false);//不能改变大小;
        
        //设置窗口可见
        jframe.setVisible(true);
    }
    
}
/*
 * 获取屏幕的大小,获取窗口的大小,在定义顶点的位置;
 *     Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕大小;
    Dimension dimjf = jframe.getSize();
    int width = (dim.width - dimjf.width)/2;
    int height = (dim.height - dimjf.height)/2;
    jframe.setLocation(width, height);
    等同于:jframe.setLocationRelativeTo(null);
    注意:窗口大小的设置要先于窗口位置的设置,否则不能保证窗口居中。
    
    我在其他工程里面见了文件夹,然后把图片移到其他工程去了
    
    JFrame的结构:RootPane、LayeredPane、ContentPane、Classpath;
    
    
    
 * */

一、JFrame的结构:

JFrame有4层结构:Frame、Rootpanel、Compenetpanel、Classpanel;我也没搞懂,以后在搞。

原文地址:https://www.cnblogs.com/wangbiwei/p/5385084.html