java学习笔记之图形界面上

AWT简介

  • 组件:Component
  • 容器:Container
  • 布局管理器:LayoutManager
java.lang.Object
事件类
组件
容器
颜色类
布局管理器
字体类
绘图
图像类
菜单类
组件
  • 在整个AWT包中所有的组件类都是从Component和MenuComponent扩展而来的,这些类会继承这两个类的公共操作
    在这里插入图片描述

在这里插入图片描述

容器

在这里插入图片描述

布局管理器

在这里插入图片描述

Swing简介

  • Swing使用java语言实现,是以AWT平台为基础构建起来的新组件,直接使用Swing可以更加轻松地构建用户界面,它保存在javax.swing包中,它所有的组件都是从JComponent扩展出来的.JComponent类几乎是所有Swing组件的公共超类,从各个组件的定义来看所有的Swing组件只是比AWT组件前多增加了一个字母"J"而已

基本容器:JFrame

  • JFrame类常用操作方法
    • JFrame中使用Dimension类设置窗体的大小,此类封装的是组件显示宽度和高度
    • Point类针对组件的显示位置即封装的是坐标
public class demo {
    public static void main(String[] args) {
        JFrame f=new JFrame("第一个Swing窗体");//实例化窗体对象
        Dimension d=new Dimension(); //实例化Dimension对象
        d.setSize(230,80);
        f.setSize(d);
        //f.setSize(230,80);//设置窗体大小
        f.setBackground(Color.WHITE);//设置窗体的背景颜色
        Point p=new Point(300,200);
        f.setLocation(p);
        //f.setLocation(300,200);//设置窗体的显示位置
        f.setVisible(true);//让组件显示
    }
}

标签组件:JLabel

认识JLable
  • 此组件是一个标签,本身是用于显示信息的,一般情况下是不能直接更改其显示内容的,通过Container类中的add()方法加入到容器中
  • JLable类的常用方法和常量
public class demo {
    public static void main(String[] args) {
        JFrame f=new JFrame("土豆向对你弹出窗口");//实例化窗体对象
        JLabel lab=new JLabel("我真的不想动啊啊啊啊啊啊啊啊啊啊啊啊啊啊",JLabel.CENTER);
        f.add(lab);  //向容器加入组件
        Dimension dim=new Dimension();//实例化Dimension对象
        dim.setSize(200,100);
        f.setSize(dim);
        f.setBackground(Color.WHITE);
        Point p=new Point(300,200);
        f.setLocation(p);
        f.setVisible(true);

    }
}
更改JLabel的文字样式
  • 使用Component类定义的setFont(Font f)方法
  • Font类的常用操作方法及常量
public class demo {
    public static void main(String[] args) {
        JFrame f=new JFrame("土豆向对你弹出窗口");//实例化窗体对象
        JLabel lab=new JLabel("我真的不想动啊啊啊啊啊啊啊啊啊啊啊啊啊啊",JLabel.CENTER);//实例化对象,使用居中对齐
        Font word=new Font("Serief",Font.ITALIC+Font.BOLD,28);//更改文字样式
        lab.setFont(word);//设置标签的显示字体
        lab.setForeground(Color.pink);//设置标签的文字颜色
        f.add(lab);  //向容器加入组件
        Dimension dim=new Dimension();//实例化Dimension对象
        dim.setSize(200,100);
        f.setSize(dim);
        f.setBackground(Color.WHITE);
        Point p=new Point(300,200);
        f.setLocation(p);
        f.setVisible(true);

    }
}

在这里插入图片描述

在JLabel中设置图片
  • 使用Icon接口以及ImageIcon子类即可
  • Imagelcon类的构造方法
public class demo {
    public static void main(String[] args) {
        JFrame f=new JFrame("土豆向对你弹出窗口");//实例化窗体对象
        String picPath="f:"+File.separator+"109951163541891985.jpg";
        File file=new File(picPath);//实例化File对象
        InputStream input=null; //输入流对象
        byte b[]=new byte[(int)file.length()]; //根据图片大小开辟byte数组
        try{
            input=new FileInputStream(file);//实例化输入流对象
            input.read(b);//读取文件信息
            input.close();//关闭输入流
        }catch (Exception e){
            e.printStackTrace();
        }
        //可以直接用String picPath="f:"+File.separator+"109951163541891985.jpg";
        //Icon icon=new ImageIcon(picPath);可以不使用输入流
        Icon icon=new ImageIcon(b);//实例化Icon对象
        JLabel lab=new JLabel("我真的不想动啊啊啊啊啊啊啊啊啊啊啊啊啊啊",icon,JLabel.CENTER);//实例化对象,使用居中对齐
        Font word=new Font("Serief",Font.ITALIC+Font.BOLD,28);//更改文字样式
        lab.setFont(word);//设置标签的显示字体
        lab.setForeground(Color.pink);//设置标签的文字颜色
        lab.setBackground(Color.lightGray);//设置标签的背景颜色
        f.add(lab);  //向容器加入组件
        f.setSize(200,300);
        f.setBackground(Color.WHITE);
        f.setLocation(300,200);
        f.setVisible(true);
    }
}

按钮组件:JButton

  • JButton组件表示一个普通的按钮,使用此类可以直接在窗体中增加一个按钮
  • JButton类常用方法
public class demo {
    public static void main(String[] args) {
        JFrame f = new JFrame("你好");
        String picpath = "f:" + File.separator + "109951163541891985.jpg";
        Icon icon = new ImageIcon(picpath, "你好");
        JButton jb = new JButton(icon);
        Font font = new Font("Serief", Font.BOLD, 25);
        jb.setFont(font);
        f.add(jb);
        f.setSize(230, 80);
        f.setLocation(100, 100);
        f.setBackground(Color.WHITE);
        f.setVisible(true);

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值