建设企业网站中国建设银行忘记wordpress的账号和密码

张小明 2026/3/2 21:42:18
建设企业网站中国建设银行,忘记wordpress的账号和密码,教学互动网站开发背景,查电商软件下载前言 在前两篇文章中我们已经完成了界面的基础设计和布局#xff0c;并实现了创建文件和文件夹的功能。那么本次我们将聚焦于实现通过鼠标点击的方式打开文件和文件夹的功能。 文章目录前言一、核心目标与技术栈1. 核心目标2. 技术栈二、关键技术1、获取事件源和instanceof关…前言在前两篇文章中我们已经完成了界面的基础设计和布局并实现了创建文件和文件夹的功能。那么本次我们将聚焦于实现通过鼠标点击的方式打开文件和文件夹的功能。文章目录前言一、核心目标与技术栈1. 核心目标2. 技术栈二、关键技术1、获取事件源和instanceof关键字2、打开文件3、关闭窗体三、核心步骤拆解1. 前期准备组件数据绑定2. 主界面类FileSystemUI 实现1核心属性定义2界面初始化方法 initUI()3构造方法FileSystemUI()4程序入口3. 监听器类FileListener 实现1绑定界面对象2处理按钮点击事件actionPerformed()3处理鼠标事件mousePressed()四、完整代码1 主界面类FileSystemUI负责展示界面和目录2 监听器类FileListener负责处理鼠标和菜单动作3. 运行效果五、版本规划六、总结一、核心目标与技术栈1. 核心目标点击文件夹按钮自动刷新界面显示该文件夹下的所有内容双击文件标签调用电脑本地程序打开文件保留V2.0的右键创建文件/文件夹功能2. 技术栈IO 操作java.io.File类文件 / 文件夹的遍历、路径获取事件处理MouseListener鼠标双击、右键事件、ActionListener按钮、菜单点击事件GUI 组件JFrame窗体、JButton文件夹按钮、JLabel文件标签、JPopupMenu右键菜单系统交互java.awt.Desktop类调用本地程序打开文件二、关键技术1、获取事件源和instanceof关键字在实现打开文件和文件夹时我们必须确认鼠标点击的组件是什么才能做出对应的操作这时我们就需要用到方法e.getSource()。这个方法可以帮助我们获取事件源即触发事件的对象。instanceof 是 Java 中的一个二元操作符用于判断一个对象是否是某个类的实例或者是否实现了某个接口。我们用instanceof关键字来判断其是否是某个类的实例从而执行对应的代码。// 获取点击的组件Objectsourcee.getSource();if(sourceinstanceofJButton){// 处理按钮点击}elseif(sourceinstanceofJLabel){// 处理标签双击}2、打开文件使用java.awt.Desktop类实现跨平台的文件打开功能核心代码如下FiletargetFilenewFile(filePath);Desktop.getDesktop().open(targetFile);该方法会自动调用系统默认程序比如TXT 文件→记事本PNG 图片→系统看图软件DOC 文档→Word3、关闭窗体在该版本中创建文件或文件夹后直接将旧的窗体关闭而不是将其设置为不可见方法是JFrame类的对象中的方法dispose()。三、核心步骤拆解1. 前期准备组件数据绑定要实现 “点击按钮跳转目录” 和 “双击标签打开文件”关键是给组件绑定绝对路径文件夹按钮通过setActionCommand()方法绑定文件夹绝对路径点击时通过e.getActionCommand()获取文件标签通过setToolTipText()方法绑定文件绝对路径双击时通过标签对象直接获取2. 主界面类FileSystemUI 实现1核心属性定义// 窗口对象JFramejf;StringdirD:\\;// 监听器对象FileListener1flnewFileListener1();2界面初始化方法initUI()该方法是界面的核心完成窗体配置、目录遍历、组件创建三大功能窗体基础配置设置标题、大小、居中显示使用流式布局让组件排列整齐目录遍历跳过隐藏文件只展示可见内容文件夹→橙色JButton绑定绝对路径到ActionCommand添加ActionListenerif(f.isDirectory()){JButtonbtnnewJButton(f.getName());//设置的按钮上直接显示文本btn.setActionCommand(f.getAbsolutePath());// 设置为绝对路径btn.setPreferredSize(dim);btn.setBackground(Color.ORANGE);// 给按钮添加点击监听器btn.addActionListener(fl);jf.add(btn);btn.setToolTipText(f.getName());// 显示不全的提示文本}文件→灰色JLabel绑定绝对路径到ToolTipText添加MouseListenerelseif(f.isFile()){JLabeljlanewJLabel(f.getName());// tooltip显示文件绝对路径jla.setToolTipText(f.getAbsolutePath());jla.setPreferredSize(dim);jla.setOpaque(true);jla.setBackground(Color.LIGHT_GRAY);// 给文件标签添加鼠标监听器jla.addMouseListener(fl);jf.add(jla);}监听器绑定将窗体对象传给监听器让监听器能操作界面3构造方法FileSystemUI()创建对象时直接初始化界面默认加载D盘根目录publicFileSystemUI(){initUI(dir);}4程序入口通过main方法创建FileSystemUI对象启动程序。3. 监听器类FileListener 实现该类是 V3.0 的功能核心继承MouseAdapter并实现ActionListener处理所有交互事件。1绑定界面对象定义FileSystemUI类型属性提供setFileUI()方法让监听器能操作窗体和刷新界面。2处理按钮点击事件actionPerformed()判断事件源通过instanceof区分是文件夹按钮还是菜单项文件夹按钮逻辑获取绑定的绝对路径→关闭当前窗体→调用initUI()加载新目录菜单项逻辑保留 V2.0 的创建文件、文件夹、刷新功能创建后刷新界面3处理鼠标事件mousePressed()双击文件标签逻辑判断事件源是JLabel 左键双击→获取标签的ToolTipText文件路径→通过Desktop.getDesktop().open()调用本地程序打开右键弹出菜单逻辑保留 V2.0 功能在窗体空白处右键弹出菜单四、完整代码1 主界面类FileSystemUI负责展示界面和目录importjavax.swing.*;importjava.awt.*;importjava.io.File;publicclassFileSystemUI{// 窗口对象JFramejf;StringdirD:\\Test\\;// 监听器对象FileListenerflnewFileListener();// 构造方法创建对象时直接初始化界面默认加载D盘根目录publicFileSystemUI(){initUI(dir);}// 界面初始化方法加载对应目录的文件publicvoidinitUI(Stringpath){// 创建窗口设置标题显示当前目录路径、大小、居中jfnewJFrame(文件管理系统path);jf.setSize(700,600);jf.setLayout(newFlowLayout(FlowLayout.LEFT,10,20));// 左对齐组件间距20jf.setLocationRelativeTo(null);// 窗口在屏幕居中显示// 关闭窗口时终止应用程序jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 读取指定路径下的所有文件和文件夹FilefilenewFile(path);File[]filesfile.listFiles();// 设置组件大小文件夹按钮和文件标签统一大小DimensiondimnewDimension(80,50);// 遍历所有文件/文件夹分别显示为按钮或标签if(files!null){for(Filef:files){// 跳过隐藏文件if(f.isHidden())continue;// 如果是文件夹显示为橙色按钮if(f.isDirectory()){JButtonbtnnewJButton(f.getName());//设置的按钮上直接显示文本btn.setActionCommand(f.getAbsolutePath());// 设置为绝对路径btn.setPreferredSize(dim);btn.setBackground(Color.ORANGE);// 给按钮添加点击监听器btn.addActionListener(fl);jf.add(btn);btn.setToolTipText(f.getName());// 显示不全的提示文本}// 如果是文件显示为灰色标签elseif(f.isFile()){JLabeljlanewJLabel(f.getName());// tooltip显示文件绝对路径jla.setToolTipText(f.getAbsolutePath());jla.setPreferredSize(dim);jla.setOpaque(true);jla.setBackground(Color.LIGHT_GRAY);// 给文件标签添加鼠标监听器jla.addMouseListener(fl);jf.add(jla);}}}// 给窗口添加右键菜单监听器jf.addMouseListener(fl);// 关键把当前界面对象传给监听器让监听器能操作窗口fl.setFileSystemUI(this);// 窗口显示jf.setVisible(true);}// 程序入口运行就启动文件管理器publicstaticvoidmain(String[]args){newFileSystemUI();}}2 监听器类FileListener负责处理鼠标和菜单动作importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.io.File;importjava.io.IOException;publicclassFileListenerextendsMouseAdapterimplementsActionListener,MouseListener{// 关联界面类操作窗口FileSystemUIfileSystemUI;// 给监听器设置界面对象publicvoidsetFileSystemUI(FileSystemUIfileSystemUI){this.fileSystemUIfileSystemUI;}// 处理按钮/菜单点击事件OverridepublicvoidactionPerformed(ActionEvente){// 获取点击的组件Objectsourcee.getSource();// 如果点击的是文件夹按钮if(sourceinstanceofJButton){System.out.println(点击了文件夹按钮);// 获取按钮绑定的绝对路径Stringpathe.getActionCommand();// 关闭当前窗口重新初始化界面显示目标文件夹内容fileSystemUI.jf.dispose();fileSystemUI.initUI(path);}// 保留V2.0的右键菜单逻辑创建文件/文件夹、刷新elseif(sourceinstanceofJMenuItem){Stringmenue.getActionCommand();// 刷新功能关闭当前窗口重新加载当前路径if(menu.equals(刷新)){StringpathfileSystemUI.jf.getTitle().replace(文件管理系统,);fileSystemUI.jf.dispose();fileSystemUI.initUI(path);}// 创建文件/文件夹elseif(menu.equals(新建文件)){StringpathfileSystemUI.jf.getTitle().replace(文件管理系统,);StringfileNameJOptionPane.showInputDialog(请输入文件名);if(fileName!null!fileName.isEmpty()){FilenewFilenewFile(path\\fileName);try{if(newFile.createNewFile()){JOptionPane.showMessageDialog(null,文件创建成功);// 刷新界面显示新文件fileSystemUI.jf.dispose();fileSystemUI.initUI(path);}else{JOptionPane.showMessageDialog(null,文件已存在);}}catch(IOExceptionex){thrownewRuntimeException(ex);}}}elseif(menu.equals(新建文件夹)){StringpathfileSystemUI.jf.getTitle().replace(文件管理系统,);StringdirNameJOptionPane.showInputDialog(请输入文件夹名);if(dirName!null!dirName.isEmpty()){FilenewDirnewFile(path\\dirName);if(newDir.mkdirs()){JOptionPane.showMessageDialog(null,文件夹创建成功);// 刷新界面显示新文件夹fileSystemUI.jf.dispose();fileSystemUI.initUI(path);}else{JOptionPane.showMessageDialog(null,文件夹已存在);}}}}}// 处理鼠标点击事件OverridepublicvoidmousePressed(MouseEvente){// 获取点击的组件Objectsourcee.getSource();// 只处理鼠标左键点击if(e.getButton()1){// 如果点击的是文件标签且是双击if(sourceinstanceofJLabele.getClickCount()2){System.out.println(双击了文件标签);JLabelfileLabel(JLabel)source;// 获取标签绑定的文件绝对路径StringfilePathfileLabel.getToolTipText();FiletargetFilenewFile(filePath);// 调用电脑本地程序打开文件try{Desktop.getDesktop().open(targetFile);}catch(IOExceptionex){JOptionPane.showMessageDialog(null,文件打开失败ex.getMessage());}}}// 保留V2.0的右键菜单逻辑窗口空白处右键弹出菜单elseif(sourceinstanceofJFramee.getButton()3){JPopupMenupopupMenunewJPopupMenu();String[]menuStrs{新建文件,新建文件夹,刷新};for(StringmenuStr:menuStrs){JMenuItemmenunewJMenuItem(menuStr);// 给菜单项添加点击监听器menu.addActionListener(this);// 把菜单项添加到右键菜单popupMenu.add(menu);}// 显示右键菜单popupMenu.show(e.getComponent(),e.getX(),e.getY());}}}3. 运行效果初始界面启动程序后自动加载 D 盘根目录内容橙色按钮文件夹灰色标签文件窗体标题显示当前目录路径打开文件夹点击任意橙色文件夹按钮界面会自动刷新并显示该文件夹内的所有文件和子文件夹标题同步更新为当前文件夹路径。文件打开双击任意灰色文件标签系统会调用默认程序打开该文件双击test.txt→记事本打开双击photo.png→系统看图软件打开双击document.docx→Word 打开右键菜单操作在窗体空白处右键弹出菜单选择 “创建文件” 或 “创建文件夹”输入名称后程序自动在当前目录创建对应文件 / 文件夹界面自动刷新显示新创建的内容选择 “刷新” 可手动更新当前目录内容五、版本规划V1.0已实现显示本地目录结构文件→标签、目录→按钮V2.0已实现新增创建文件、创建文件夹功能V3.0已实现支持点击按钮打开文件夹、点击标签打开文件V4.0新增文件搜索功能六、总结V3.0 版本通过ActionCommand和ToolTipText实现组件与路径的绑定结合监听器完成了 “文件夹打开” 和 “文件打开” 两大核心功能。同时保留了 V2.0 的右键操作形成了一个功能完整、交互流畅的基础文件管理器。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

查网站死链必用工具一级做ae视频教程

鸣潮自动化工具终极指南:如何实现24小时无人值守游戏体验 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸上锁合成 自动肉鸽 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 还在…

张小明 2026/1/7 17:55:13 网站建设

中山地区做网站公司wordpress 设置七牛

第一章:VSCode Azure QDK断点调试的核心价值在量子计算开发中,调试复杂算法和验证量子态行为是关键挑战。VSCode 结合 Azure Quantum Development Kit(QDK)提供的断点调试功能,极大提升了开发效率与代码可靠性。通过本…

张小明 2026/1/7 6:47:04 网站建设

科技画北京网站seo优化排名公司

ChronoEdit-14B:开启物理智能图像编辑新纪元 【免费下载链接】ChronoEdit-14B-Diffusers 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/ChronoEdit-14B-Diffusers 从静态修图到动态模拟的范式革命 你有没有遇到过这样的情况?当你用AI工…

张小明 2026/1/11 7:07:19 网站建设

网络公司 建站 官方网站临平做网站

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于Spring Boot框架的农产品销售系统,以满足现代农业市场对高效、便捷、安全的农产品交易需求。具体研究目的如下&#xf…

张小明 2026/1/8 1:11:21 网站建设

西安晨曦e动网站建设手机ftp传网站文件在哪里

还在为无法保存小红书精彩内容而烦恼吗?每次看到心动的穿搭分享、实用的生活技巧,却只能眼睁睁看着它们消失在信息流中?今天为你揭秘一款免费开源工具——XHS-Downloader,让你轻松实现小红书无水印批量下载,无论是图文…

张小明 2026/1/8 1:28:51 网站建设

做外贸需要建英文网站吗网页制作教程哔哩

Excalidraw vs Miro:谁才是真正的开源绘图王者? 在远程办公成为常态、敏捷协作日益深入的今天,一张“白板”早已不只是会议桌旁的书写工具。它成了产品构思的起点、架构设计的画布、团队对齐的战场。Miro 凭借丰富的模板和成熟的生态&#x…

张小明 2026/1/10 15:30:18 网站建设