初学Java:Java基础-GUI图形用户界面

Java基础 图形用户界面(一)

Java提供了awt和swing包用于GUI(图形用户界面)的开发

概念

​ Java中构成图形用户界面的各种元素称为组件Component;组件分为容器类和非容器类组件

  • 组件类(Component):抽象类,组件一般放在某个容器中;组件中不能再放置其他组件
  • 容器类(Container):组件类的子类,容器本身也是组件;可在其中放置其他容器或组件

容器一定是组件,组件不一定是容器

创建窗体

JFrame:窗体容器

  • 带边框、标题栏、菜单栏和窗口缩放功能按钮的窗口

即图形用户界面最底层的框架

面板

JPanel类

​ 页面设计时,将用户界面分成若干区域,每个区域使用一个面板,将所有组件存放在不同面板中,实现窗口内容结构化,便于管理,更换和调试。

在底层框架之上,进行窗口的划分

组件

​ 组件是界面的基本元素,是软件和用户之间的交流要素。常用组件包括:

  • 按钮组件

    JButton(按钮)

  • 选择组件

    JRadioButton(单选按钮)

    JCheckBox(复选框)

    JComBox(选择框)

    JList(列表框)

  • 文本组件

    JLabel(标签)

    JTextField(文本框)

    JPasswordField(密码框)

    JTextArea(文本域)

创建

一般步骤

  1. 创建窗体;
  2. 添加面板;
  3. 设置布局;
  4. 添加组件;

代码

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

class LoginFrame extends JFrame{
    //创建所需元素
    private JLabel lab1;
  	private JLabel lab2; //标签
    private JTextField textField;	//文本框
    private JPasswordField passwordField;//密码框
    private JPanel jp;//面板
    private JButton but1,but2;//按钮
    private JTextArea ta = new JTextArea(10,30);//文本域
    public LoginFrame(){
        //继承父类构造方法
        super("欢迎登陆");//窗口名称
        setBounds(300,300,500,400);//设置位置及大小
        setLayout(null);//取消默认布局
        jp = new JPanel();//创建面板
        jp.setSize(500,400);//设置面板大小
        jp.setLocation(0,20);//设置面板位置
        //创建容器
        Container container = this.getContentPane();
        //将面板添加到容器
        container.add(jp);

        jp.setLayout(new FlowLayout());
				//设置组件
        lab1 = new JLabel("用户名");
        lab2 = new JLabel(" 密码 ");
        textField = new JTextField(35);
        passwordField = new JPasswordField(35);
        but1 = new JButton("登陆");
        but2 = new JButton("推出");
        //按顺序添加
        jp.add(lab1);
        jp.add(textField);
        jp.add(lab2);
        jp.add(passwordField);
        jp.add(but1);
        jp.add(but2);
        jp.add(ta);
				//菜单栏
        MenuBar menuBar = new MenuBar();
        Menu m1 = new Menu("文件");
        Menu m2 = new Menu("编辑");
        MenuItem m1_1 = m1.add(new MenuItem("新建"));
        MenuItem m1_2 = m1.add(new MenuItem("退出"));
        menuBar.add(m1);
        menuBar.add(m2);
        m1.add(m1_1);
        m1.add(m1_2);
        setMenuBar(menuBar);
				
        setVisible(true);//可视化
        setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭按钮
    }
}

public class LoginView {
    public static void main(String[] args) {
        LoginFrame frame = new LoginFrame();
    }
}

效果

在这里插入图片描述

以上为本人学习Java时的一些笔记以及自己的理解

如有不足之处请大家指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值