Idea 插件开发: Swing Designer设计器创建的组件全部为空问题记录

问题现象

通过Swing 设计器创建的对象, Swing组件全部是空的, 导致ToolWindowFactory工厂的实现类调用时候出现了空指针异常
如下方式创建的
在这里插入图片描述

问题分析

问题出现时候, 同时给我生成了一个createUIComponents的私有方法, 由于个人当时理解有误, 把他当成了初始化方法, 在里面添加了一些代码, 运行时候会跑异常

    // 为什么会生成 createUIComponents 方法, 是因为, 修改组件时候, 不知道改错了什么位置, 被设识别成了自定义组件// 解决办法就是删除重新拖动组件, 自定义组件异常, 会印象swing designer生成其他组件, 导致其他组件也是空的private void createUIComponents() {// 异常代码}

为什么会出现这样的方法, 其实就是修改form文件时候, 导致无任务相关组件是自定义组件, 意思是我们自定义的组件需要在这个方法里面创建, 如果你的组件不是自定义组件, 可以删除掉, 重新拖动组件, 这样你的组件就不需要你自己使用这个私有方法完成初始化了

通过调式发现,只要你的组件不是自定义组件, 并且这个方法没有抛异常,
在访问组件(组件为空)时候就会自动初始化所有组件(猜测这里使用的是代理模式, 不是特别清楚这里的原理), 然后里面的ui对象都可以正常使用了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle高可用一家老小全在这里

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

用Java实现一对一聊天

目录 服务端 客户端 服务端 package 一对一用户; import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; imp…

s3-dist-cp 介绍教程示例使用方法

s3-dist-cp 是 AWS EMR 内置的用于 S3 和 HDFS 之间文件拷贝的专用工具,与 Hadoop 的 distcp 类似,也是通过 Map-Reduce 作业的方式实现分布式的文件复制(distcp 就是 distributed copy 分布式拷贝的意思)。 s3-dist-cp 并不是一个简单的在 S3 和 HDFS 之间拷贝文件的工具…

SpringBoot中MyBatis-Flex的集成和使用

一、MyBatis-Flex 是什么​ MyBatis-Flex是一个基于MyBatis的数据访问框架,专门为Flex应用程序而设计的。它提供了一种灵活而高效的方式来处理Flex应用程序中的数据访问,可以轻松地连接到各种数据源,并提供了一些方便的工具和功能&#xff0c…

虚拟机和主机间复制粘贴

文章目录 前言一、版本介绍二、安装工具1.确认配置2.安装工具3.重启 总结 前言 在Windows中使用虚拟机,可以很方便地linux,就像是在本地操作服务器一样。 一、版本介绍 虚拟机:VMware 15 操作系统:CentOS 7 二、安装工具 1.确…

delphi android打开外部文件,报错android.os.FileUriExposedException解决方法

Android 7.0强制启用了被称作 StrictMode的策略,带来的影响就是你的App对外无法暴露file://类型的URI了。 如果你使用Intent携带这样的URI去打开外部App(比如:打开系统相机拍照),那么会抛出FileUriExposedException异常。 Delphi 为Android…

C++(14):通过tuple在构造对象时注入类型不确定的对象/插件

有的时候我们需要在构建对象时注入一系列类型不确定的对象或插件,怎么才能实现呢? #include <iostream> #include <string> #include <tuple>using namespace std;class A{ public:A(int a) : m_a(a){cout<<"construct A:"<<m_a<…

windows系统安装RocketMQ_dashboard

1.下载源码 按照官网说明下载源码 官网 官网文档 2.源码安装 2.1.① 编译rocketmq-dashboard 注释掉报错的maven插件frontend-maven-plugin、maven-antrun-plugin mvn clean package -Dmaven.test.skiptrue2.2.② 运行rocketmq-dashboard java -jar target/rocketmq-…

Qt基础-connect函数详解

本文详解Qt的connect函数用法。 目录 定义 形式 函数原型 实例说明 定义 Qt中的信号槽为核心内容,一定要熟练掌握。链接信号使用connect函数。 QObject::connect函数,顾名思义,链接函数,作用是链接信号(signal)和槽(

tamcat乱码

学习springmvc时tamcat乱码 ①、启动时tomcat控制台乱码 解决方法是&#xff1a;1、先把idea设置里的默认字节码改成utf-8 ​ 2、把idea显示编码改成utf-8&#xff0c;在末尾加上&#xff08; -Dfile.encodingUTF-8&#xff09; ​ 3、最后重启idea 加上这个 -Dfile.encodingU…

CSS基础概念之选择器类型

CSS选择器类型 选择器表示元素在树结构中的特定模式。选择器(selector)术语指的是&#xff0c;简单选择器(simple selector)&#xff0c;复合选择器(compound selector)&#xff0c;复杂选择器(complex selector)&#xff0c;或者选择器列表(selector list)。选择器的主题是任…

【软考中级——软件设计师】备战经验 笔记总结分享

考试成绩 我第一次备考是在2022 然后那时候取消了这次是第二次 靠前我一个月复习的看了以前的笔记 然后刷了七八道历年题目学习资料推荐 &#xff1a;zst——2021 b站链接自荐一下我的笔记 &#xff1a; 软考笔记专栏 视频确实很长 &#xff0c; 我的建议就是先看笔记 然后不会…

OD机考真题搜集:欢乐的周末

题目 小华和小为是很要好的朋友,他们约定周末一起吃饭。通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形原因,部分聚餐地点不可达),求小为和小华都可以到达的聚餐地点有多少个? 输入 第一行输入m,n,分别代表地图的长度和宽度 第二行开始输入具体地图信息…

1-2、Java环境搭建

语雀原文链接 文章目录 1、JDK安装2、Hello World2-1、Hello World示例2-2、类名和文件名2-3、注释2-4、javadoc 3、环境变量3-1、Path作用3-2、classpath3-3、JAVA_HOME 4、Java组成5、跨平台原理5-1、Java跨平台原理5-2、C语言的跨平台原理 1、JDK安装 下载地址&#xff1a…

打造Github首页的动态飞线效果

一、导语 Github首页的地球动态飞线&#xff0c;大家都比较熟悉吧 二、分析 由大量随机的3点构造出贝塞尔曲线&#xff0c;然后开始从起点到终点的飞行后&#xff0c;然后再从起点到终点的消失&#xff0c;就此完成整个过程 三、基础代码 createCurve(startPoint, endPoint…

unity 2d 入门 飞翔小鸟 死亡闪烁特效(十三)

一、c#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Bling : MonoBehaviour {public Texture img;public float speed;public static bool changeWhite false;private float alpha0f;// Start is called before the fi…

信创运维产业的发展与趋势:IT管理的新视角

随着数字化时代的来临&#xff0c;信息技术应用的各个方面都在发生变革。在这个过程中&#xff0c;信创运维产业的发展尤为引人注目。它不仅是数字化转型的关键驱动力&#xff0c;也是国家经济发展的重要支柱。本文将探讨信创运维产业的发展与趋势&#xff0c;以及国家如何管理…

芯片量产导入知识

什么是芯片量产 从芯片功能设计到生产制造、测试等环节&#xff0c;每一个环节都至关重要。 对于保障大规模发货后芯片指标表现的一致性&#xff0c;以及产品应用生命周期内的稳定性和可靠性&#xff0c;需要考虑多种因素。以下是一些相关的观点&#xff1a; 可量产性设计&am…

Stable Diffusion 系列教程 - 2 WebUI 参数详解

Stable Diffusion 的整个算法组合为&#xff1a; UNet VAE 文本编码器 UNet&#xff1a;就是我们大模型里的核心。 文本编码器&#xff1a;将我们的prompt进行encoder为算法能理解的内容&#xff08;可以理解为SD外包出去的项目CLIP&#xff09;。 VAE&#xff1a;对UNet生…

【牛牛送书 | 第三期】《一本书讲透Java线程:原理与实践》带你深入JAVA多线程

目录 摘要&#xff1a; 多线程对于Java的意义 为什么Java工程师必须掌握多线程 Java多线程使用方式 如何学好Java多线程 参与方式&#x1f947; 摘要&#xff1a; 互联网的每一个角落&#xff0c;无论是大型电商平台的秒杀活动&#xff0c;社交平台的实时消息推送&#x…