GUI Swing

用Swing来画一些界面

AWT能画笔,但是Swing可以画图,可以做更高级的操作

1、窗口、面板

package com.kuang.lesson04;

import javax.swing.*;
import java.awt.*;

public class JFrameDemo {
//    //建立窗口之前要初始化  init()
//    public void init(){
//        //JFrame是顶级窗口,真正的东西是放在容器里面的
//        JFrame jf = new JFrame("这是一个JFrame窗口");
//        jf.setVisible(true);
//        jf.setBounds(100,100,200,200);
//
//        //设置文字 Jlable
//        JLabel label = new JLabel("欢迎来到xxx");
//        jf.add(label);
//
//        //容器 JFrame是一个窗口,但窗口本身也是一个容器 所以要把它实例化,使之能够看得到
//
//
//        //关闭事件
//        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//    }

    public static void main(String[] args) {
        //建立窗口(在AWT中是写的类,但是在Swing中窗口是初始化来的)
        new MyJFrame().init();
    }
}

class MyJFrame extends JFrame{
    public void init(){
        this.setBackground(Color.MAGENTA);
        this.setBounds(100,100,200,200);
        this.setVisible(true);

        //设置文字 Jlable
        JLabel label = new JLabel("欢迎来到xxx");
        this.add(label);

        //让文本居中
        label.setHorizontalAlignment(SwingConstants.CENTER);

        //容器 JFrame是一个窗口,但窗口本身也是一个容器 所以要把它实例化,使之能够看得到
        //获得一个容器
        Container container = this.getContentPane();
        container.setBackground(Color.MAGENTA);
    }
}

效果图:
在这里插入图片描述

2、弹窗

package com.kuang.lesson04;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

//主窗口
public class DialogDemo extends JFrame {
    public DialogDemo() {
        this.setVisible(true);
        this.setBounds(100,100,200,200);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        Container container = this.getContentPane();
        //绝对布局
        container.setLayout(null);

        //按钮
        JButton button = new JButton("点击弹出一个对话框");
        button.setBounds(30,30,200,20);

        //点击一个按钮的时候会弹出一个弹窗
        button.addActionListener(new ActionListener() {//监听器
            @Override
            public void actionPerformed(ActionEvent e) {
                //弹窗
                new MyDioLog();
            }
        });
        container.add(button);
    }

    public static void main(String[] args) {
        new DialogDemo();
    }
}

//弹出的窗口
class MyDioLog extends JDialog{
    public MyDioLog() {
        this.setVisible(true);
        this.setBounds(100,100,500,500);
        //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        // defaultCloseOperation must
        // be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE

        Container container = this.getContentPane();
        container.setLayout(null);
        container.add(new Label("学java"));
    }
}

效果图:
在这里插入图片描述

3、标签

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
初始化类后会返回一个图标
在这里插入图片描述

4、面板

4.1 普通面板 JPanel

在这里插入图片描述

4.2 滚动条 、JscrollPane面板(可以有滚动条)

在这里插入图片描述

5、按钮

在这里插入图片描述
在这里插入图片描述

  • 单选按钮
    在这里插入图片描述
    在这里插入图片描述
  • 复选按钮
    在这里插入图片描述
    在这里插入图片描述

6、列表

  • 下拉框
    在这里插入图片描述
    在这里插入图片描述

  • 列表框
    在这里插入图片描述

文本框

  • 文本框
    在这里插入图片描述

  • 密码框
    在这里插入图片描述

  • 文本域 :可以换行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值