简单的界面开发

一、界面组成

1.可视化部分 :窗体 按钮 输入框 标签等

2.元素规则部分: 尺寸 颜色 字体 布局等

3.内容部分: 文本 图片等

二、JAVA源码包

在界面的开发过程中,我们需要用到两个Java源码包分别是:java.awt    和  javax.swing

注解:在一个类中使用其他包中的类时(自己创建的其他包 源码包),都需要导入这个类所在的 包路径

格式为:

import 包名.*; 
import 包名.类名;

例如: 

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

 java.awt:

    FlowLayout : 流式布局类 管理窗体内的组件摆放位置

    Dimension : 尺寸

    Color : 颜色

    Font : 字体

javax.swing:

    JFrame : 窗体类

   JLabel : 标签 加载图片和文本 ,透明的组件 只会显示内容

   JButton : 按钮类

   JTextField: 单行文本输入框

   JPasswordField: 密码输入框(输入的文本会用  · 代替)

   ImageIcon: 图标类

   JCheckBox:多选框

   JRadioButton:单选框(需定义一个按钮组,如:

ButtonGroup btnG = new ButtonGroup();// 按钮组
// 单选框 只能选中一个
JRadioButton userRbtn = new JRadioButton("用户");
JRadioButton vipRbtn = new JRadioButton("VIP用户");
JRadioButton adminRbtn = new JRadioButton("管理员");
btnG.add(userRbtn);
btnG.add(vipRbtn);
btnG.add(adminRbtn);
jf.add(userRbtn);
jf.add(vipRbtn);
jf.add(adminRbtn);

三、开发步骤

1.搭建代码运行的框架:

(1)创建一个类 如:LoginUI;

(2)创建一个方法 如:showUI;

(3)创建一个程序入口 创建LoginUI对象调用showUI方法;

2.界面开发:

(1)导入开发包 java.awt javax.swing

(2)创建一个窗体类对象 设置属性:(标题 尺寸 关闭方式 位置 可视化)

(3)创建窗体需要的小组件对象: (按钮 输入框 标签)

代码如下:

package HXK1118;
import java.awt.*;
import javax.swing.*;
public class LoginUI {
    public void shouUI(){
        JFrame jf=new JFrame();
        jf.setTitle("登录界面");
        jf.setSize(290,400);
        jf.setLocation(500,200);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.setLayout(new FlowLayout());

        ImageIcon icon=new ImageIcon("C:\\Users\\DELL\\Desktop\\QQ.jpg");
        jf.setIconImage(icon.getImage());

        ImageIcon icon1=new ImageIcon("C:\\Users\\DELL\\Desktop\\11.png");
        JLabel iconjla=new JLabel(icon1);
        jf.add(iconjla);

        JLabel nameJla = new JLabel("账号:");
        jf.add(nameJla);

        JTextField nameJtf = new JTextField();
        jf.add(nameJtf);

        JLabel pwdJla = new JLabel("密码:");
        jf.add(pwdJla);

        JPasswordField pwdJtf = new JPasswordField();
        jf.add(pwdJtf);

        JCheckBox rmCheckbox=new JCheckBox("记住密码");
        JCheckBox autoLoginBox = new JCheckBox("自动登录");
        jf.add(rmCheckbox);
        jf.add(autoLoginBox);

        ButtonGroup btnG = new ButtonGroup();
        JRadioButton userRbtn = new JRadioButton("用户");
        JRadioButton vipRbtn = new JRadioButton("VIP用户");
        JRadioButton adminRbtn = new JRadioButton("管理员");
        btnG.add(userRbtn);
        btnG.add(vipRbtn);
        btnG.add(adminRbtn);
        jf.add(userRbtn);
        jf.add(vipRbtn);
        jf.add(adminRbtn);
        adminRbtn.setSelected(true);

        Dimension dim = new Dimension(210, 30);
        nameJtf.setPreferredSize(dim);
        pwdJtf.setPreferredSize(dim);
        Dimension dim1=new Dimension(120,30);
        rmCheckbox.setPreferredSize(dim1);
        autoLoginBox.setPreferredSize(dim1);

        JButton btn = new JButton("登录");
        jf.add(btn);

        JButton btn2 = new JButton("注册");
        jf.add(btn2);

        jf.setVisible(true);
    }

    public static void main(String[] args) {
        LoginUI loginui=new LoginUI();
        loginui.shouUI();
    }
}

运行结果:

 四、动作监听器

在登录界面,我们会有需要注册账号的情况,这样就需要我们使用动作监听器, 完成按钮的注册监听后 ,点击此按钮 就会调用loginAction的actionPerformed()方法

使用步骤:

(1)   创建一个新的类 LoginAction

(2)   这个类实现 ActionListener implements

具体如下:

将一下代码加入到我们前面编写的LoginUI中,可以将初始化表单,将LoginUI中的表单对象都传给监听器

loginAction.setForm(nameJtf, pwdJtf,
rmCheckbox, autoLoginBox,
userRbtn, adminRbtn, vipRbtn);

我们再添加一个类实现 ActionListener implements

package HXK1118;

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

public class LoginAction implements ActionListener {
    JTextField nameJtf2;
    JPasswordField pwdJtf2;
    JCheckBox rmBox2;
    JCheckBox atlBox2;
    JRadioButton userRbtn2;
    JRadioButton adminRbtn2;
    JRadioButton vipRtn2;

    public void setForm(JTextField nameJtf2, JPasswordField pwdJtf2, JCheckBox rmBox2,
                        JCheckBox atlBox2, JRadioButton userRbtn2, JRadioButton adminRbtn2,
                        JRadioButton vipRtn2){
        this.nameJtf2 = nameJtf2;
        this.pwdJtf2 = pwdJtf2;
        this.rmBox2 = rmBox2;
        this.atlBox2 = atlBox2;
        this.userRbtn2 = userRbtn2;
        this.adminRbtn2 = adminRbtn2;
        this.vipRtn2 = vipRtn2;

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("点击了按钮");
        System.out.println("登录相关数据:");
        System.out.println("账号:" + nameJtf2.getText());
        System.out.println("密码:" + pwdJtf2.getText());
        System.out.println("自动登录:" + atlBox2.isSelected());
        System.out.println("记住密码:" + rmBox2.isSelected());
        boolean vip = vipRtn2.isSelected();
        boolean admin = adminRbtn2.isSelected();
        boolean user = userRbtn2.isSelected();
        String userType = "";
        if (vip) {
            userType = "VIP用户";
        } else if (user) {
            userType = "普通用户";
        } else {
            userType = "管理员";
        }
        System.out.println("登录的用户类型:" + userType);
    }
}

运行结果:

点击了按钮
登录相关数据:
账号:
密码:
自动登录:false
记住密码:false
登录的用户类型:VIP用户

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值