Java图形化编程,以及界面程序的交互设计
概述
本次学习了如何使用Java完成图形化登录界面程序,实现了基础页面布局、按钮点击交互功能。
图形化编程的理解
创建主窗口容器 JFrame,设置窗口尺寸、标题、居中显示、关闭方式。使用 FlowLayout 流式布局管理器,默认居中放在第一行,放不下就往下流动。图片组件 ImageIcon 用来加载图片,JLabel 承载图片并添加到窗口。JLabel 显示文字提示, JTextField 文本框让用户输入账号密码,JButton 用于显示可点击交互按钮,给按钮绑定监听器,关联输入框,实现点击交互。最后用 jf.setVisible(true); ,让所有组件弹出可视化窗口。
界面程序的交互设计的理解
(数据类型
1.基本类型(8个):整型(byte/short/int/long) 浮点型(float/double) 字符(char) ‘’表示字符数据 布尔型(boolean) true/false
2.引用类型/自定义类型:类(class) 接口(interface) 数组)
接口不能直接实例化,一定要重写接口中的抽象方法。把输入框定义为监听器的成员变量,主界面直接赋值传递,监听器就能读取输入内容。
(监听器
1.事件源:当前动作所发生的组件(swing):登录按钮
2.监听器:动作监听器方法:addActionListener()
3.绑定事件处理类)
== 比较相等 != 不相等,比较字符串内容是否一致必须用equals 方法, && 与(并且) || 或
图形化编程,以及界面程序的交互设计的编程
示例代码
import javax.swing.*; import java.awt.*; public class Login { public void showUI() { JFrame jf = new JFrame(); jf.setSize(430, 500); jf.setTitle("登录界面"); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(3); ImageIcon image = new ImageIcon("C:\\Users\\star\\Pictures\\Screenshots\\屏幕截图 2025-10-02 234251.Png"); JLabel jla = new JLabel(image); Dimension pic = new Dimension(400,300); jla.setPreferredSize(pic); jf.add(jla); FlowLayout flow = new FlowLayout(); jf.setLayout(flow); JLabel user = new JLabel("账号:"); jf.add(user); JTextField jtf = new JTextField(); Dimension dm = new Dimension(360,30); jtf.setPreferredSize(dm); jf.add(jtf); JLabel use = new JLabel("密码:"); jf.add(use); JTextField jtf1 = new JTextField(); Dimension d = new Dimension(360,30); jtf1.setPreferredSize(d); jf.add(jtf1); JButton jbu = new JButton("登录"); jf.add(jbu); JButton jbu1 = new JButton("注册"); jf.add(jbu1); jf.setVisible(true); ButtonListener listener = new ButtonListener(); jbu.addActionListener(listener); listener.userText = jtf; listener.userText1 = jtf1; } public static void main(String[] args){ Login lo = new Login(); lo.showUI(); } } import java.awt.event.ActionListener; import javax.swing.*; import java.awt.event.ActionEvent; public class ButtonListener implements ActionListener{ public String name = "123"; public String code = "123"; public JTextField userText; public JTextField userText1; public void actionPerformed(ActionEvent e) { String userName = userText.getText(); String userCode = userText1.getText(); if( name.equals(userName) && code.equals(userCode)){ System.out.println("yes"); JFrame jf = new JFrame(); jf.setSize(330, 300); jf.setTitle("登录成功"); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(3); jf.setVisible(true); }else{ System.out.println("no"); JFrame jf = new JFrame(); jf.setSize(330, 300); jf.setTitle("登录失败"); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(3); jf.setVisible(true); } System.out.println("点击按钮!userName = "+userName); } }总结
个人收获
学会用Java Swing去制作可视化窗口,掌握窗口、按钮、输入框等基础组件用法。学会去捕捉点击和输入内容,来实现按钮点击、账号校验、弹窗反馈的交互功能。
