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

    第十一周课程总结

    这一周只要是学习图形界面。在Java中的操作界面中,图形用户界面编程主要有以下几个特征:

    • 1)图形界面及其框架(图形界面对象之间的包含关系)。

    • 2)图形界面对象的布局(图形界面之间的位置关系)。

    • 3)图形界面对象上的事件响应(图形界面对象上的动作)。

    在Java的图形界面开发中可以使用的技术有AWT和Swing两种。但是在AWT中大量的使用了Windows的系统函数,不是使用Java开发的,所以是重量级组件;而Swing是由Java来实现用户界面类,可以在任意的系统平台上工作,属于轻量级组件,但是在Swing中任然大量使用了AWT的概念。

    一、AWT

    AWT抽象窗口工具包,是Java提供的用来建立和设置Java图形用户界面的基本工具,在整个AWT包中提供的所有工具类主要分为:组件(Component)、容器(Container)、布局管理器(Layout Manager)。

    二、Swing

    在Java中提供了轻量级的图形界面组件——Swing,Swing使用Java语言实现,是以AWT平台为基础构建起来的新组件,直接使用Swing可以更加轻松地构建用户界面。

    三、基本容器JFrame

    如果现在使用Swing创建一个窗口,则直接使用JFrame类即可,此类是Component的子类,常用的操作方法:

    package javabook;
    
    import java.awt.*;
    import javax.swing.*;
    
    public class JavaSwing {
    
    	public static void main(String[] args) {
    		JFrame f=new JFrame("图形界面");          //实例化一个窗口
    		Dimension d=new Dimension(600,480);          //实例化Dimension对象来控制窗口大小
    		f.setSize(d);                                 
    		f.setBackground(Color.WHITE);                 //设置窗口的背景颜色
    		Point p=new Point(300,200);                  //设置显示坐标
    		f.setLocation(p);                             //显示位置
    		f.setVisible(true);                          //让组件显示
    	}
    
    }
    

    四、标签组件JLabel

    JLabel组件表示的是一个标签,本身是用于显示信息的,一般情况下是不能直接更改其显示内容的。创建完Label对象可以通过Container类中的add()方法加入到容器中。

    package javabook;
    
    import java.awt.*;
    import javax.swing.*;
    
    import javax.swing.JFrame;
    
    public class JavaSwing2 {
    
    	public static void main(String[] args) {
    		JFrame f=new JFrame("图形界面");          //实例化一个窗口
    		JLabel lab=new JLabel("java",JLabel.CENTER);         //实例化对象,使用居中对齐
    		f.add(lab);                                 //向容器中加入组件
    		Dimension d=new Dimension(600,480);          //实例化Dimension对象来控制窗口大小
    		f.setSize(d);                                 
    		f.setBackground(Color.WHITE);                 //设置窗口的背景颜色
    		Point p=new Point(300,200);                  //设置显示坐标
    		f.setLocation(p);                             //显示位置
    		f.setVisible(true);  
    
    	}
    
    }
    

    五、更改JLabel的文字样式

    以上的内容只是使用了默认的字体和颜色显示,如果现在要想更改使用的字体,则可以直接使用Component类中定义的方法;

    Public void setFont(Font f)
    
    package javabook;
    
    import java.awt.*;
    import javax.swing.*;
    
    public class JavaSwing3 {
    
    	public static void main(String[] args) {
    		JFrame f=new JFrame("图形界面");          //实例化一个窗口
    		JLabel lab=new JLabel("java",JLabel.CENTER);         //实例化对象,使用居中对齐
    		f.add(lab);                                 //向容器中加入组件
    		Font fnt=new Font("Serief",Font.ITALIC+Font.BOLD,28);         //实例化对象
    		lab.setFont(fnt);                                       //显示标签
    		lab.setForeground(Color.RED);                             //设置标签颜色
    		Dimension d=new Dimension(600,480);          //实例化Dimension对象来控制窗口大小
    		f.setSize(d);                                 
    		f.setBackground(Color.WHITE);                 //设置窗口的背景颜色
    		Point p=new Point(300,200);                  //设置显示坐标
    		f.setLocation(p);                             //显示位置
    		f.setVisible(true);  
    
    
    	}
    
    }
    

    六、布局管理器

    了解了举办的窗口以及组件后,可以发现,如果不对窗口见习版面设计,则一个组件会直接充满整个窗口,所以在Java中专门提供了布局管理器来管理组件,通常布局管理器可以用不同的方式排列组件。每当需要重新调整屏幕大小或重新绘制屏幕上任一项时,都要用到布局管理器。在Swing中使用的所有布局管理器都实现Layout Manager接口,在Swing中主要使用5种常见的布局管理器:FlowLayout、BorderLayout、GridLayout、CardLayout、绝对定位。

    • 1、FlowLayout
      属于流式布局管理器,使用此种布局管理器方式会使所有的组件像流水一样依次进行排序。
    package javabook;
    
    import java.awt.*;
    import javax.swing.*;
    		
    public class JavaFlowLayout {
    
    	public static void main(String[] args) {
    		JFrame f=new JFrame("图形界面");          //实例化一个窗口
    		//设置窗体中布局管理器为FlowLayout,所有的组件居中对齐,水平和垂直间距为3
    		f.setLayout(new FlowLayout(FlowLayout.CENTER,3,3));
    		for(int i=0;i<9;i++) {
    			JButton but=new JButton("按钮-"+i);
    			f.add(but);
    		}
    		Point p=new Point(600,200);                  //设置显示坐标
    		f.setLocation(p);                             //显示位置
    		f.setVisible(true);  
    		
    	}
    
    }
    
    • 2、BorderLayout
      将一个窗口的版面划分为东西南北中五个区域,可以直接将需要的组件放到这五个区域中。

    • 3、GridLayout
      布局管理器是以表格的形式进行管理的,在使用此布局管理器说的时候必须设置显示的行和列数。

    package javabook;
    
    import java.awt.*;
    import javax.swing.*;
    
    public class JavaGridLayout {
    
    	public static void main(String[] args) {
    		JFrame f=new JFrame("图形界面");          //实例化一个窗口
    		//设置窗体中布局管理器为GdriLayout,按3X5排列,水平和垂直间距为3
    		f.setLayout(new GridLayout(3,5,3,3));
    		for(int i=0;i<13;i++) {
    			JButton but=new JButton("按钮-"+i);
    			f.add(but);
    		}
    		f.pack();
    		Point p=new Point(600,200);                  //设置显示坐标
    		f.setLocation(p); 
    		f.setVisible(true); 
    	}
    
    }
    
    • 4、CardLayout
      就是将一组组彼此重叠的进行布局,就像一张张卡片一样,这样每一次只会展示一个界面。

    • 5、绝对定位
      如果不想在窗口中指定布局管理器,也可以通过设置绝对坐标的方式完成布局,在Component中提供了setBounds()方法,可以定位一个组件的坐标,使用x,y的坐标表示方法。

  • 相关阅读:
    汇总常用的jQuery操作Table tr td方法
    Windows消息目录
    DataGridView基本操作
    PCL,VTK及其依赖库的编译-十分详细
    Session 的生命周期
    TCP协议的问题
    projecteuler----&gt;problem=12----Highly divisible triangular number
    阿里电话面试问题----100万个URL怎样找到出现频率最高的前100个?
    hbase 增删改查 api 简单操作
    为什么要在css文件里定义 ul{margin:0;padding:0;}这个选择器?
  • 原文地址:https://www.cnblogs.com/lyl68/p/11822929.html
Copyright © 2011-2022 走看看