zoukankan      html  css  js  c++  java
  • Java连载121-窗口程序设计GUI编程

    一、GUI编程

    1.Java提供了java.awt和javax.swing包用于GUI编程,简称为AWT和Swing。

    2.AWT属于重量级组件,利用本地操作系统提供的图形库,不跨平台,它的组件种类有限,可以提供基本的GUI设计工具,但是无法实现目前GUI设计所需的所有功能。

    3​.Swing由纯Java语言编写,属于轻量级组件,可跨平台​,是对​AWT的加强。

    4. AWT​中组件可以分为两类:Component和MenuComponent​;MenuCompent是所有与菜单相关组件的父类,Component则是除了菜单以外其他AWT组件的父类,她表示一个能够以图形化方式显示出来并且可以与用户​交互的对象。

    二、容器类

    1.Container类(继承自Component)表示容器,它是一种特殊的组件,可以用来容纳其他组件,Container又分为两类,分为Window和Panel.

    2.Window类是不依赖其他容器而独立存在的容器,分为两个子类,分别为Frame类和Dialog类

    3.Pannel也是一个容器,但是它不能单独存在,只能存在于其他容器中(Window或者它的子类),一个Pannel对象代表了一个长方形的区域,在这个区域中可以容纳其他组件​。

    package com.bjpowernode.java_learning;
    
    import java.awt.Frame;
    
    public class D121_1_Component {
    
      public static void main(String[] args) {
    
        //建立新窗体对象
    
        Frame f = new Frame("我的窗体!");
    
        //设置窗体的宽和高
    
        f.setSize(400,300);
    
        //设置窗体在屏幕中所处的位置(参数是左上角坐标)
    
        f.setLocation(300,200);
    
        //设置窗体可见
    
        f.setVisible(true);
    
      }
    
    }

    三、布局管理器

    1.组件不能单独存在,必须放在容器中,而组件在容器中的位置和尺寸​是由布局管理器来决定的。

    2.布局管理器概述

    在java.awt包中提供了5种布局管理器,分别为FlowLayout(流式布局管理器),BorderLayout(边界布局管理器),GridLayout(网格布局管理器),GridBagLayout(网格包布局管理器)和CardLayout(卡片布局管理器)​。

        java.awt.Frame frame = new java.awt.Frame();
    
    frame.setLayout(new FlowLayout());

    3.流式布局管理器

    (1)最简单的布局管理器,在这种布局之下,容器会将组件按照添加顺序从左向右放置,当到达容器的边界时,会自动将组件放到下一行的开始位置。这些组件左对齐,居中对齐(默认方式)或者右对齐的​方式排列。

    (2)下面是FlowLayout的三种构造方法​

    FlowLayout()

    默认居中对齐,水平,垂直的间距为​5个单位;

    FlowLayout(int align)

    指定组件相对于容器的对齐方式,水平,垂直间距默认为5个单位

    FlowLayout(int align,int hgap,int vgap)

    指定组件的对齐方式和水平,垂直间距​。

    四、源码:

    D121_1_Component.java

    D120_2_ParentClassAndInterfaceOfClass.java

    https://github.com/ruigege66/Java/blob/master/D120_1_ConstructerOfClass.java

    https://github.com/ruigege66/Java/blob/master/D120_2_ParentClassAndInterfaceOfClass.java

    2.CSDN:https://blog.csdn.net/weixin_44630050

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    设计模式学习系列3 观察者模式
    设计模式学习系列2 面向对象的5大原则(转)
    设计模式学习系列1 单例模式
    又见到面试的毕业生
    猎头给我打电话
    DirectX基础学习系列8 渐进网格以及外接体
    directX基础学习系列7 网格(自己创建)
    DirectX 基础学习系列6 字体
    语艺杂谈1 – MAP赋值与插入
    DirectX基础学习系列5 融合技术
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13090549.html
Copyright © 2011-2022 走看看