当前位置: 首页 > news >正文

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去制作可视化窗口,掌握窗口、按钮、输入框等基础组件用法。学会去捕捉点击和输入内容,来实现按钮点击、账号校验、弹窗反馈的交互功能。

http://www.jsqmd.com/news/1221385/

相关文章:

  • 仅限首批订阅者开放:Cursor v0.42.0响应式内核源码注释版(含37处关键分支逻辑与性能热区标注)
  • 终极Windows鼠标自动化指南:3个步骤彻底告别重复点击
  • Gin框架集成OpenTelemetry实现全链路追踪
  • 深耕餐饮设计二十年,于冷硬工业里栽种一方自然诗意
  • 出手翡翠怕被坑?武汉奢二网正规回收不玩猫腻 - 大牌深度测评
  • 【信息科学与工程学】【物理/化学和工程技术】第七十五篇 电气工程 系列三 电机学01
  • 如何解决多协议机器人架构中的安全与性能挑战:LuckyLilliaBot 的架构优化实践
  • FGO-py完整指南:智能自动化你的Fate/Grand Order游戏体验
  • Figma设计到Unity实现:打破界面开发壁垒的智能转换方案
  • EscapeFromTarkov-Trainer控制台命令大全:Spawn、Track等实用指令一键掌握
  • DLAI 文档人工智能笔记(二)
  • 当怀旧游戏遇上现代技术:MemcardRex如何拯救你的PS1游戏存档
  • 城市上门做饭页面如何同时兼顾SEO与GEO:从URL、实体标签到问答结构
  • 终极指南:使用Downr1n轻松实现iOS设备自由降级
  • MySQL迁移Kingbase?一文告诉你有哪些语法兼容的坑
  • 让批改更高效、让解题更生动,合合信息“蜜蜂AI”携AI教育新场景亮相WAIC
  • 江诗丹顿官方服务项目及价格查询|全部地址与24小时客服电话权威信息通告(2026年7月最新) - 江诗丹顿服务中心
  • 大模型上下文窗口选型决策手册(2024企业级实测白皮书)
  • 救命!2026年AI论文网站排行榜,格式改到崩溃的应届生直接抄作业
  • ONE. shell及Linux命令
  • Blender动画GIF一键导出:用Bligify插件告别繁琐转换!
  • 2026供应链残酷真相:加班越多越廉价!SCMP帮你跳出时长内卷,靠效率升职
  • 用飞算JavaAI搭建融汇智能支付与清结算平台:让交易安全、清晰、可追溯
  • 5步实现Figma到Unity的UI设计无缝转换:告别手动复制的终极解决方案
  • 宁波名表回收实操手册:机芯表盘表带表扣逐一检查完整流程 - 大牌深度测评
  • bootstrap3-wysiwyg事件处理全解析:提升编辑器交互体验的终极指南
  • 2026淮安黄金回收优选回收渠道:这五家规范门店让你卖得明白放心 - 商业快讯早知道
  • AI 驱动的性能回归检测:合约与前端变更的自动化 Benchmark 与瓶颈定位
  • 5分钟快速掌握ChanlunX:通达信缠论分析插件终极指南
  • 2026年7月最新萧邦泉州台商宝龙广场维修保养服务电话 - 萧邦中国官方服务中心