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

Java 面向对象基础笔记:设计带操作界面的应用程序

前言

本文面向编程零基础的小白,用生活中的案例通俗讲解java中设计带操作界面的应用程序完整实操流程,手把手演示创建界面,设置按键,输入框并加入简单功能的完整可运行代码示例。

正文

比如生活中在应用程序的账号登陆,会进入一个界面
这里便是需要在java中定义登录并建立一个界面(窗体):

publicclassLogin{publicvoidshowUI(){JFramejf=newJFrame();//显示可见(下面这行)需要放到所有代码之后jf.setVisible(true);}}

接下来设置窗体基础界面:

jf.setSize(420,550);//窗框大小jf.setTitle("登录界面");//界面名称jf.setLocationRelativeTo(null);//居中显示jf.setDefaultCloseOperation(3);//退出进程

流式布局管理器:控制位置以及大小,默认居中放在第一行,放不下就往下流动:

FlowLayoutflow=newFlowLayout();jf.setLayout(flow);//设置窗体为流式布局

加载图片:

ImageIconimage=newImageIcon("")//引号内加入图片所在文件位置(图片要注名)

加标签(账号):

JLabeljla=newJLabel(image);//加标签jf.add(jla);JLabeluser=newJLabel("账号:");//提示信息jf.add(user);

显示文本框:

JTextFieldjtf=newJTextField();Dimensiondm=newDimension(360,30);//除了JFrame,其它组件设置大小都是该方法jtf.setPreferredSize(dm);jf.add(jtf);

加入按钮并赋予功能:

JButtonjbu=newJButton("登录");jf.add(jbu);

在这里加入一个接口(实现接口的关键字implement),需要新定义一个类(BottonListener)并实现接口:

publicclassButtonListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente)//重写接口中的抽象方法{System.out.println("点击按钮!");//显示登录成功的新界面//创建窗体对象,设计可见新界面JFramejfr=newJFrame();jfr.setSize(400,550);jfr.setTitle("登录成功");jfr.setLocationRelativeTo(null);jfr.setDefaultCloseOperation(3);jfr.setVisible(true);}}

回到原登录界面,在登录按钮后加入监听器,实现接口:

//1.事件源:当前动作所发生的组件(swing):登录按钮//2.监听器:动作监听器方法:addActionListener()//3.绑定事件处理类//给登录按钮添加动作监听器方法//接口不能直接创建对象//接口的使用步骤:1.重新定义类实现接口 2.重写接口中的抽象方法ButtonListenerlistener=newButtonListener();jbu.addActionListener(listener);

最后添加主函数

publicstaticvoidmain(String[]args){//在主函数中,类里面的属性和方法必须通过对象调用Loginlo=newLogin();lo.showUI();}

下面是完整演示:

publicclassLogin{publicvoidshowUI(){JFramejf=newJFrame();jf.setSize(400,550);jf.setTitle("登录界面");jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(3);FlowLayoutflow=newFlowLayout();jf.setLayout(flow);//图片ImageIconim=newImageIcon("");Dimensiondn=newDimension(400,300);//标签JLabeljla=newJLabel(im);jla.setPreferredSize(dn);jf.add(jla);JLabeluser=newJLabel("账号");jf.add(user);Dimensiondf=newDimension(360,30);JTextFieldjtb=newJTextField();jtb.setPreferredSize(df);jf.add(jtb);JLabeluse=newJLabel("密码");jf.add(use);Dimensiondm=newDimension(360,30);JTextFieldjtf=newJTextField();jtf.setPreferredSize(dm);jf.add(jtf);JButtonjbu=newJButton("登录");jf.add(jbu);BottonListenerbot=newBottonListener();jbu.addActionListener(bot);JButtonjba=newJButton("注册");jf.add(jba);jf.setVisible(true);}publicstaticvoidmain(String[]arge){Loginlog=newLogin();log.showUI();}}

ps:如JFrame等需在定义类之前引用java库
完整演示中图片部分不展示,请自行添加

http://www.cnnetsun.cn/news/3443089.html

相关文章:

  • 具身智能落地实战:从物理约束到确定性控制的四年技术路线
  • 怎样高效美化OpenWrt界面:Argon主题专业实战技巧
  • 第三十八课——移动App功能测试实战指南
  • ESP32 Arduino核心开发实战:从基础外设到高级协议深度解析
  • 老旧Windows电脑性能优化全攻略
  • 金融AI模型蒸馏技术与轻量化部署实践
  • macOS DMG转ISO:虚拟机部署与系统维护指南
  • 学生成绩课表管理系统:从数据流设计到工程实践
  • 全志D1s开发板RISC-V裸机开发环境搭建指南
  • 具身智能数据基建:从物理信号到鲁棒决策的全链路实践
  • 大模型GEO内容更新频率:3个节奏规律提收录权重,零成本提30%引用率附更新计划表
  • WSL2环境配置优化与常见问题解决方案
  • Qwen3-Max正式版空间语义对齐能力实测:p5.js坐标生成精度跃迁
  • C++实现RS纠错编码:从伽罗华域到高性能编解码库
  • 自动驾驶部署实战:从模型到车规级落地的七道工程关卡
  • GRANT:运筹学驱动的3D空间约束建模方法
  • Rider 2025 深度解析:.NET 多语言开发的语义级 IDE 转型
  • 具身智能:从感知-行动闭环到物理交互学习的技术演进
  • Chrome开发者工具Elements面板使用指南
  • Django应用层数据加密实战:构建传输与存储全链路隐私保护系统
  • VLA与世界模型:物理世界基座模型的双轨协同
  • 考研数学概率论课本|考研数学概率论真题合集|考研数学概率论题
  • CentOS 7.7安装与配置全指南
  • Windows 11 Hyper-V卡死问题分析与解决方案
  • Windows 11纯净安装与优化全指南
  • Windows系统错误代码全解析与解决方案指南
  • CatlikeCoding:一套可生长的Unity工程实践体系
  • Mac与Windows内存管理差异解析:为何8GB Mac更流畅
  • VLA模型:具身智能的视觉-语言-动作统一架构
  • 如何快速掌握PKHeX自动合法化插件:面向新手的完整实战指南