随笔分类 -  JavaFX

免费的PDF水印、图片水印软件 —— 笔尖水印
摘要:这两天抽空开发了一个PDF、图片水印软件 —— 笔尖水印。 这是一款由 JavaFX 开发的桌面应用程序、可以批量为PDF或图片添加水印、下面简单介绍笔尖水印这个软件的一些界面和功能: 软件界面 软件的主界面主要采用BorderPane布局,重写了软件的框架(含最小化,关闭按钮等),中间表格为需要进 阅读全文
posted @ 2025-01-05 14:04 $$X$$
仿微信聊天程序 - 11. 服务端
摘要:本文是仿微信聊天程序专栏的第十一篇文章,主要记录了【米虫IM-服务端】的实现。 ## 界面设计 仿微信聊天程序的服务端正常来说可能不需要界面,但是为了配置和调试方便,还是开发了一下简单的界面,主要由两部分组成: 1. 服务端域名(或IP)端口配置 2. 收发数据包日志打印 ![](https://i 阅读全文
posted @ 2023-08-13 10:05 $$X$$
仿微信聊天程序 - 10. 注册、登录流程
摘要:本文是仿微信聊天程序专栏的第十篇文章,主要简要说明一下,注册、登录的业务流程实现,通过事件通知实现消息收发。 ## 流程设计 米虫IM采用Netty进行数据通讯,客户端在触发一些事件时将消息通过IM客户端发送到服务端,服务反馈消息通过事件通知的形式触发JavaFX的UI控制。 大致的流程如下: ![ 阅读全文
posted @ 2023-08-02 23:04 $$X$$
仿微信聊天程序 - 09. 聊天信息
摘要:本文是仿微信聊天程序专栏的第九篇文章,主要记录了【聊天信息】的逻辑实现,下面涉及代码是《仿微信聊天程序 - 09. 聊天窗口》的基础上进行完善的。 ## 实现效果 在《仿微信聊天程序 - 09. 聊天窗口》章节中,已经实现了基本的聊天界面框架,《09. 聊天信息》这里只是补充实现聊天内容部分功能。 阅读全文
posted @ 2023-07-16 16:55 $$X$$
仿微信聊天程序 - 08. 聊天窗口
摘要:本文是仿微信聊天程序专栏的第八篇文章,主要记录了【聊天窗口】的界面实现。 ## 界面设计 聊天窗口是整个聊天程序的核心控件,比较复杂,大致可以分为上中下三个部分,上面显示用户昵称以及一些操作菜单,中间是聊天内容显示区域,下面的信息发送的区域,总体界面设计如下: ![](https://img2023 阅读全文
posted @ 2023-07-16 13:37 $$X$$
仿微信聊天程序 - 07. 好友信息
摘要:本文是仿微信聊天程序专栏的第七篇文章,主要记录了【好友信息】的界面实现。 ## 界面设计 这里的好友信息界面没有处理复杂的功能,仅仅显示好友信息,支持在此界面中发起聊天而已,总体的界面设计如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/2023 阅读全文
posted @ 2023-07-16 13:37 $$X$$
仿微信聊天程序 - 06. 好友列表
摘要:本文是仿微信聊天程序专栏的第六篇文章,主要记录了【好友列表】的界面实现。 ## 界面设计 好友列表在主界面左边,界面UI风格跟聊天列表类似,只不过相比聊天列表更加简单,不需要显示聊天信息,时间等,总体界面设计如下: ![](https://img2023.cnblogs.com/blog/30334 阅读全文
posted @ 2023-07-16 13:36 $$X$$
仿微信聊天程序 - 05. 聊天列表
摘要:本文是仿微信聊天程序专栏的第五篇文章,主要记录了【聊天列表】的界面实现。 ## 界面设计 聊天列表在主界面左边,主要显示最近的聊天记录,以及添加好友的信息等,总体界面设计如下: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-2 阅读全文
posted @ 2023-07-16 13:35 $$X$$
仿微信聊天程序 - 04. 主界面
摘要:本文是仿微信聊天程序专栏的第四篇文章,主要记录了【主界面】的实现。 ## 界面设计 仿微信聊天程序的主界面总体跟微信的主界面差不多,但是比微信的主界面简单得多,如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-202 阅读全文
posted @ 2023-07-16 13:34 $$X$$
仿微信聊天程序 - 03.登录界面
摘要:本文是仿微信聊天程序专栏的第三篇文章,主要记录了【登录界面】的实现。 ## 界面设计 仿微信聊天程序的登录界面跟注册界面差不多,只是比注册界面少了一个昵称输入框,如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-20 阅读全文
posted @ 2023-07-16 13:33 $$X$$
仿微信聊天程序 - 02. 注册界面
摘要:本文是仿微信聊天程序专栏的第二篇文章,主要记录了【注册界面】的实现。 ## 界面设计 仿微信聊天程序的注册界面,是一个表单,由三个输入框和一个按钮组成,具体UI展示如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-2 阅读全文
posted @ 2023-07-16 13:32 $$X$$
仿微信聊天程序 - 01. 开篇
摘要:本文是仿微信聊天程序专栏的第一篇文章,主要简要说明仿微信聊天程序的功能需求及架构设计。 仿微信聊天程序专栏主要记录了使用JavaFX + Netty开发仿微信聊天程序 米虫IM。 ## 功能需求 米虫IM已经完成的功能如下: * 用户注册功能 * 用户登录功能 * 搜索好友功能 * 添加好友功能 * 阅读全文
posted @ 2023-07-16 13:30 $$X$$
JavaFX:FX.应用更新检测功能(在线自动更新方案)
摘要:JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本 拉取远程版本并比较两个版本 如果需要升级,那么拉取更新历史 弹出升级控制窗口 用户选择升级时, 阅读全文
posted @ 2023-01-08 15:59 $$X$$
JavaFX:实现撤销(undo)、重做(redo)功能
摘要:撤销和重做功能在很多软件都是非常普遍的,这里记录一下JavaFX实现撤销和重做功能的一种方案: 1. 接口定义 对于所有能执行撤销和重做的动作定义统一的接口: public interface Undo { void execute(); void undo(); void redo(); } 2. 阅读全文
posted @ 2023-01-08 15:02 $$X$$
JavaFX:实现滚动 + 缩放联动
摘要:JavaFX要实现滚动可以使用ScrollPane,要实现缩放可以通过调用setScaleX和setScaleY、setScaleZ,如果需要实现滚动 + 缩放联动,那么需要一点点小技巧,这里记录一下。 1. 实现滚动 实现JavaFX的滚动很简单,只需要将UI组件放在ScollPane中即可,下面 阅读全文
posted @ 2023-01-08 14:19 $$X$$
JavaFX:构建JavaFX的IoC,实现Bean管理,自由注入Contoller需要的Bean
摘要:习惯了使用Spring的IoC开发JavaEE应用之后,总想着在JavaFX开发中使用IoC管理应用中的单例对象,这里记录一下构建JavaFX.IoC实现Bean管理和依赖注入的过程。 1. IoC.需求 实际上关于JavaFX整合SpringBoot是有开源项目实现过的,之前也介绍过,但总感觉太重 阅读全文
posted @ 2023-01-08 13:30 $$X$$