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

    Java的图形界面:
    一、AWT
    1、AWT(Abstract Windowing Toolkit):抽象窗口工具包,是Java提供的用来建立和设置Java图形用户界面的基本工具。
    AWT中的所有工具都保存在java.awt包中。

    2、容器:所有的AWT组件都应该放在容器中,并可以设置其位置、大小等,所有的容器都是Component的子类。

    3、组件:组件类都是从Component和MenuComponent拓展而来。

    4、布局管理器:可以使容器中组件按照指定的位置进行摆放,另外一个的优点是:即使容器改变了大小,布局管理器也可以
    准确地组件放到指定的位置。

    二、Swing
    1、Swing使用Java的语言实现,是以AWT平台为基础构建起来的新组件,直接使用Swing可以更加轻松的构建用户图形界面。

    2、Java中Swing都是保存在java.swing包中。

    3、Swing中所有的容器都是继承AWT组件包

    创建一个窗口

    import java.awt.*;
    import java.io.*;
    import javax.swing.*;
     
     
    public class JavaSwingTest {
    public static void main(String args[]) throws IOException{
    test1();
    }
    //创建一个新的窗体
    public static void test1(){
    JFrame f=new JFrame("第一个Swing窗口");//实例化窗体对象
    f.setSize(230,80);//设置窗体大小
    f.setBackground(Color.WHITE);//设置窗体的背景颜色
    f.setLocation(1000,600);//设置窗体的显示位置
    f.setVisible(true);//让组建显示
    }
    

    以上最重要的是f.setVisible(true);如果没有这一步,窗体就不会显示。是不是有点小激动,其实这没什么,后面还有很多。
    在JFrame中也可以使用Dimension类设置窗体的大小,此类封装的组件显示高度和宽度,除了设置组件大小可以使用Dimension类,对于组件的显示位置也存在一个Point类,此类封装的是现实位置X,Y坐标

    实例:
    //使用Dimension和Point类设置组件大小和显示位置
    public static void test2(){
    JFrame f=new JFrame("第一个Swing窗口");
    Dimension d=new Dimension();//实例化Dimension对象
    d.setSize(400,200);
    f.setSize(d);
    f.setBackground(Color.WHITE);
    Point p=new Point();//实例化Point对象
    p.setLocation(300,200);
    f.setLocation(p);
    f.setVisible(true);
    }
    调用该方法运行后效果如下:
    实例:
    //使用Dimension和Point类设置组件大小和显示位置
    public static void test2(){
    JFrame f=new JFrame("第一个Swing窗口");
    Dimension d=new Dimension();//实例化Dimension对象
    d.setSize(400,200);
    f.setSize(d);
    f.setBackground(Color.WHITE);
    Point p=new Point();//实例化Point对象
    p.setLocation(300,200);
    f.setLocation(p);
    f.setVisible(true);
    }
    

    标签组件:JLabel
    JLabel组件表示的是一个标签,本身是用于显示信息的,创建完的Label对象可以通过Container类中的add方法加入到容器中

    实例:
    //使用一个标签JLable
    public static void test3(){
    JFrame f=new JFrame("Welcome to 密讯");
    Dimension d=new Dimension();//实例化Dimension对象
    JLabel lab=new JLabel("MichaelLee",JLabel.CENTER);
    f.add(lab);
    d.setSize(400,200);
    f.setSize(d);
    f.setBackground(Color.WHITE);
    Point p=new Point();//实例化Point对象
    p.setLocation(300,200);
    f.setLocation(p);
    f.setVisible(true);
    }
    
    //更改JLabel的文字样式,设置标签的显示字体,大小,背景颜色
    public static void test4(){
    JFrame f=new JFrame("Welcome to 密讯");
    Dimension d=new Dimension();//实例化Dimension对象
    JLabel lab=new JLabel("MichaelLee",JLabel.CENTER);
    Font font=new Font("隶书",Font.ITALIC+Font.BOLD,28);
        lab.setForeground(Color.RED);
    lab.setFont(font);
    f.add(lab);
    d.setSize(400,200);
    f.setSize(d);
    f.setBackground(Color.WHITE);
    Point p=new Point();//实例化Point对象
    p.setLocation(300,200);
    f.setLocation(p);
    f.setVisible(true);
    }
    

    按钮组件:JButton
    JButton组件是在窗体中添加一个按钮

    //按钮组件,建立一个普通的按钮
    public static void test7(){
    JFrame jf=new JFrame("Welcome to MichaelLee!");
    JButton jb=new JButton("按我");
    jb.setBounds(100,100,200,200);
    Font font=new Font("serif",Font.BOLD,28);
    jb.setFont(font);
    jf.add(jb);
    jf.setSize(400,300);
    jf.setLocation(400,400);
    jf.setVisible(true);
    }
    
    JButton也可以为按钮设置一张图片:
    //在按钮上显示图片
    public static void test8(){
    JFrame jf=new JFrame("Welcome to MichaelLee!");
    String picPath="E:"+File.separator+"图片"+File.separator+"sunyanzi.jpg";
    Icon icon=new ImageIcon(picPath,"!");
    JButton jb=new JButton(icon);
    jb.setBounds(200,200,200,200);
    Font font=new Font("serif",Font.BOLD,28);
    jb.setFont(font);
    jf.add(jb);
    jf.setSize(800,600);
    jf.setLocation(500,300);
    jf.setVisible(true);
    }
    

    4、布局管理器
    1)FlowLayout(流式布局管理器)默认居中按照顺序依次排列
    2)BorderLayout 将窗体依次分为东西南北中5个区域
    3)GrideLayout 以表格形式进行管理,必须设置显示行数和列数(先满足行,再调列)
    4)CardLayout 一组组件彼此重叠进行布局,每次只会显示一个界面
    5)绝对布局 通过坐标指定组件放置的位置,窗体大小改变,组件位置也不会改变

  • 相关阅读:
    【转载】CentOS 6.3(x86_64)下安装Oracle 10g R2 天高地厚
    Oracle查看表空间和删除表空间 天高地厚
    获取android手机的定位信息(转)
    android里pull解析xml文件
    google map 开发去掉图片阴影
    ubuntu12.04配置android开发环境遇到的问题
    google code中下载你的项目源码
    android无法自动生成R文件
    android中ocr解决方案(tesseract)
    自定义Android标题栏TitleBar布局(转)
  • 原文地址:https://www.cnblogs.com/edg4396/p/11822121.html
Copyright © 2011-2022 走看看