zoukankan      html  css  js  c++  java
  • swing学习一(swing介绍、swing样例、布局管理器)

    图形用户界面开发(gui)

    在学习swing前,我们需要了解这样几个概念:awt、swing、swt、Jface。

    sun公司提供了一个跨平台GUI开发工具包awt(抽象窗口工具箱Abstract Window Toolkit)。

    sun公司又提供了swing,解决swt中存在的lcd(本地化)问题。

    IBM为了解决swing耗内存的问题,创建了新的gui库swt。

    IBM在swt的基础上开发了更强大的JFace。

    Swing组件分类:

    1、顶层容器:JFrame、JApplet、JDialog

    2、中间层容器:JPanel、JScrollPane、JSplitPane、JToolBar

    3、特殊中间层容器:JIternalFrame、JLayeredPane、JRootPane

    4、基本控制容器:JButton、JComboBox、JList、JMenu、JSlider、JTestField

    5、不可编辑信息显示容器:JLable、JProgressBar

    6、可编辑信息显示容器:JTable、JFileChooser、JTree

    一个swing例子Swing.java,显示helloWorld。

    package com.test.swing;
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    public class Swing extends JFrame{
    
        //一个组件
        public JLabel label = null;
        //JPanel是一个中间层容器类,可以添加其他组件。
        public JPanel jPanel = null;
        
        public Swing(){
            //给窗体设置标题
            this.setTitle("helloWorld!");
            //设置大小,按像素计数
            this.setSize(300, 300);
            //设置窗口初始位置
            this.setLocation(100, 200);
            //显示
            this.setVisible(true);
            //设置当关闭窗口时,jvm也关闭
            this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
            
            
            jPanel = new JPanel();
            label = new JLabel("helloWorld!");
            //将组件添加到中间层组件。
            jPanel.add(label);
            //将中间层组件设置为顶层组件的内容面板。
            this.setContentPane(jPanel);
        }
        /**
         * @main
         */
        public static void main(String[] args) {
            Swing swing = new Swing();
        }
    
    }

    布局管理器:

    组件在容器中的位置和大小是由布局管理器来决定的,所有的组件都会使用一个布局管理器,通过它来自动进行布局管理。

    java提供五种布局管理器:流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayout)

    流式布局:按顺序从左到右,可指定对齐方式,左对齐右对齐居中对齐等。

    边界布局:将容器简单的划分为东西南北中五个区域,中间区域最大,不是五个部分都必须添加。

    网格布局:将容器划分为多列,组件被依次填充到每个网格中,从左上角开始。

    JFrame、JDialog对话框组件你默认边界布局。

    代码编写步骤:

    1、继承JFrame

    2、定义你需要的组件

    3、创建组件(构造函数)

    4、添加组件

    5、对窗体进行设置

    6、显示窗体

    样例:

    this.add(label1, BorderLayout.EAST);
    this.add(label2, BorderLayout.NORTH);

     指定布局管理器:

    jPanel.setLayout(new BorderLayout());

     流式布局管理器:

    jPanel.setLayout(new FlowLayout(FlowLayout.CENTER));

     拆分窗格:

    JSplitPane jSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jPanel,label1);        
  • 相关阅读:
    IdentityServer4系列 | 资源密码凭证模式
    IdentityServer4系列 | 客户端凭证模式
    IdentityServer4系列 | 快速搭建简易项目
    Java9系列第九篇-对HTTP2协议的支持与非阻塞HTTP-API
    跨站资源共享CORS原理深度解析
    Java9系列第8篇-Module模块化编程
    Java9系列第7篇:Java.util.Optional优化与增强
    Kubernetes的Local Persistent Volumes使用小记
    CoProcessFunction实战三部曲之三:定时器和侧输出
    CoProcessFunction实战三部曲之二:状态处理
  • 原文地址:https://www.cnblogs.com/wee616/p/4817006.html
Copyright © 2011-2022 走看看