zoukankan      html  css  js  c++  java
  • 第十一周课程总结

    AWT图形界面

    AWT简介

    抽象窗口工具包(Abstract Window Tookit)是为java程序提供建立图形用户界面(Graphics User Interface GUI)的工具集。主要包含如下组件:

    1.      用户界面组件

    2.      事件处理模型

    3.      图形图像工具(形状、颜色、字体)

    4.      布局管理器

    AWT的优势:

    1.  最早的JAVA GUI包,内嵌到JDK中,无需引入其他类,功能稳定
      
    2.  AWT组件都是线程安全的
      
    3.  界面编程基础.  学会AWT, 很容易去学swing/SWT等功能较强大的GUI组件.
      

    基本容器JFrame

    1.JFrame 类窗体:窗口(默认不显示,方法setViserble(true/false),显示或则不显示)
    注意:可以设置窗口本身位置,大小(像素),颜色,标题,

    JFrame.setTitle(String name):窗口标题
    JFrame.setSize(int x,int y):大小(像素)
    JFrame.setLocation(int x,int y):窗口位置(表示窗口左上角在(x,y)位置)
    JFrame.setViserble(true/false):默认不显示窗口
    JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE):彻底结束该窗口(不设置时默认只是关闭了窗口,没有结束任务管理器中的进程)
    JFrame.add(Button anniu):添加按钮
    2、JButton
    JButton类:组件(按钮)
    JButton anniu=new JButton(String name):初始化按钮传入名字参数
    JButton.setSize(int x,int y):如果不设置按钮的大小的话,按钮默认会充斥整个窗口
    add(open);添加按钮,但是没有设置按钮大小(会充斥整个窗口),位置,点击时执行的触发的动作(没有监听)
    add(close);添加按钮,但是没有设置按钮大小(会充斥整个窗口),位置,点击时触发的动作(没有监听)
    setTitel("用户界面");类方法之设置窗口标题
    setSize(250,250);类方法之设置窗口大小
    setLocation(50,60);类方法之设置窗口位置
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);类方法之设置点关闭后进程结束,释放内存(不然打开一个进程多一个,资源被占用)
    3.标签组件JLabel
    标签有 JLabel 类定义,它的父类为 JComponet 类。
    标签可以显示一行只读文本、一个图像或带图像的文本。
    它并不能产生任何类型的事件,只能简单地展示图片和文本,
    但是可以使用标签的特性指定标签上文本的对齐方式。
    JLabel类提供了多种构造方法,可以创建多种标签,如展示只有文本的标签、
    只有图标的标签或包含文本和图标的标签。

    布局管理器

    1.FlowLayout------像水流一样依次进行排列(流式)

    import java.awt.*;
    import javax.swing.*;
     
    public class FlowLayoutDemO1 {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("Hello");// 实例化窗体对象
    		frame.setLayout(new FlowLayout(FlowLayout.CENTER,3,3));//所有组件居中对齐,水平和垂直间距为3
    		JButton button = null;
    		for(int i=0; i<9; i++){
    			button = new JButton("按钮 - "+i);
    			frame.add(button);//加入按钮
    		}
    		frame.setSize(28,14);//设置窗体大小
    		frame.setVisible(true);//设置窗体可见
    	}
    }
    

    2、BorderLayout------分东南西北中五个区域

    import java.awt.*;
    import javax.swing.*;
     
    public class BorderLayoutDemO1 {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("Hello");// 实例化窗体对象
    		frame.setLayout(new BorderLayout(3, 3));// 水平和垂直间距都是3
    		frame.add(new JButton("East"), BorderLayout.EAST);
    		frame.add(new JButton("South"), BorderLayout.SOUTH);
    		frame.add(new JButton("West"), BorderLayout.WEST);
    		frame.add(new JButton("North"), BorderLayout.NORTH);
    		frame.add(new JButton("Center"), BorderLayout.CENTER);
    		frame.pack();//根据组件自动调整窗体的大小
    		frame.setLocationRelativeTo(null);//居中
    		frame.setVisible(true);//设置窗体可见
    	}
    }
    

    3、GridLayout------以表格形式进行排列,必须设置行数和列数

    import java.awt.*;
    import javax.swing.*;
     
    public class GridLayout {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("Hello");// 实例化窗体对象
    		frame.setLayout(new GridLayout(4,4,3,3));//4*4进行排列,水平和垂直间距都是3
    		JButton button = null;
    		for(int i=0; i<13; i++){
    			button = new JButton("按钮 - "+i);
    			frame.add(button);//加入按钮
    		}
    		frame.pack();//根据组件自动调整窗体的大小
    		frame.setLocationRelativeTo(null);//居中
    		frame.setVisible(true);//设置窗体可见
    	}
    

    4.CardLayout------将组件彼此重叠地进行布局,像一张张卡片一样,会彼此重叠,每次只展现一个界面
    两种组件定位机制:绝对定位和布局定位。

    绝对定位就是一种最原始的定位方法:给出这个组件的坐标和长宽值(设置每一个组件的具体位置)

  • 相关阅读:
    Java并发组件三之Semaphore
    Java并发组件二之CyclicBarriar
    Java并发组件一之CountDownLatch
    高并发多线程二
    多线程与高并发需要体会记住的点
    Maven 知识点总结以及解决jar报冲突的几种方法
    JAVA SSM整合流程以及注意点
    SpringMVC Tomcat 启动时报错:java.lang.IllegalStateException: Error starting child
    java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
    javax.servlet.ServletException: No adapter for handler
  • 原文地址:https://www.cnblogs.com/luoyuliang/p/11821807.html
Copyright © 2011-2022 走看看