-
开发环境配置
已经有现成的了 我就不再造轮子了
http://huxj62488.iteye.com/blog/615600
- 登录界面 描述类
/spark/src/java/org/jivesoftware/LoginDialog.java
- 主界面 描述类
/spark/src/java/org/jivesoftware/spark/Workspace.java
/spark/src/java/org/jivesoftware/MainWindow.java
- 托盘图标 右键 描述类
/spark/src/java/org/jivesoftware/sparkimpl/plugin/systray/SysTrayPlugin.java
- 禁止退出功能
spark 已经有了相关功能,只不过是在配置文件中
/spark/src/java/org/jivesoftware/resource/default.properties
不少功能都可以在这个配置文件中配置
# If true, Spark cannot shut down # users wont be able to shut down Spark DISABLE_EXIT = true
由于退出不止这一个方法 我们得考虑很多地方
但是你会发现
这两登出按钮始终不会消失,看代码:
MainWindow.java line 506
if ((Spark.isWindows() || Spark.isLinux()) || Spark.isMac() && !Default.getBoolean("DISABLE_EXIT")) { connectMenu.add(logoutMenuItem); connectMenu.add(logoutWithStatus); connectMenu.addSeparator(); }
看代码后 貌似配置"DISABLE_EXIT"没啥意义了 想登出就 只留"DISABLE_EXIT"的判断吧
主界面右上角的关闭按钮 默认是 点了之后不做退出操作,只是最小化,如果有需要你可以改成退出
ChatFrame.java line 64
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
可选择:
public interface WindowConstants { public static final int DO_NOTHING_ON_CLOSE = 0; public static final int HIDE_ON_CLOSE = 1; public static final int DISPOSE_ON_CLOSE = 2; public static final int EXIT_ON_CLOSE = 3; }
- 设置主界面默认大小
在主界面面第一次启动时,会采取一个默认值,关闭时会把这个默认值保存,如果你在关闭之前手动拖拉过主界面的大小,下次启动时的主界面会是你上次关闭时的大小
MainWindow.java
if (settings.getMainWindowX() == 0 && settings.getMainWindowY() == 0) {
// Use default settings.
setSize(500, 500);
GraphicUtils.centerWindowOnScreen(this);
}
- 拿掉更新功能
改了半天界面别谁手一犯贱就更新成最新版了
# Disables updateability, you should set this, if you have a custom Spark-build
# or are in an environment where installfiles are distributed via network
DISABLE_UPDATES = true
- 直接拿掉菜单栏
这可没有配置,自己加呗(需要才动这可,谁知道哪里会报错)
在配置文件 default.properties 中添加
# true to hide menu bar HIDE_MENUBAR = true
MainWindow.java 中修改 line 160
if (!Default.getBoolean("HIDE_MENUBAR")) { // Add menubar this.setJMenuBar(mainWindowBar); this.getContentPane().add(topToolbar, BorderLayout.NORTH); }else { //不加个空的menubar其它地方会报错导致托盘图标都没了,懒得去研究就用了这个笨办法,图中红箭头就是效果,影响不打 JMenuBar jmenubar = new JMenuBar(); jmenubar.add(new JMenu()); this.setJMenuBar(jmenubar); }
-
拿掉联系人和会议Tab
在配置文件 default.properties 中添加
#true to hide contact list and conference CONTACT_LIST_DISABLED = true
Workspace.java 中修改 line 206
if (!Default.getBoolean("CONTACT_LIST_DISABLED")) { // Initialize Contact List contactList = UIComponentRegistry.createContactList(); conferences = UIComponentRegistry.createConferenceServices(); // Init contact list. contactList.initialize(); }
效果图在上面
-
添加自定义Tab
也就是sparkplug开发啦,我这边需求不需要原来的联系人和会议Tab,反正要改代码所以干脆放一起了,没以插件的形式加入
自己新建个插件包,建个类实现Plugin
public class MessageTreePlugin implements Plugin { @Override public void initialize() { System.out.println("Welcome To Spark message Tree!"); addTabToSpark(); } @Override public void shutdown() { // TODO Auto-generated method stub } @Override public boolean canShutDown() { // TODO Auto-generated method stub return false; } @Override public void uninstall() { // TODO Auto-generated method stub } /** * Adds a tab to Spark */ private void addTabToSpark(){ // Get Workspace UI from SparkManager Workspace workspace = SparkManager.getWorkspace(); // Retrieve the Tabbed Pane from the WorkspaceUI. SparkTabbedPane tabbedPane = workspace.getWorkspacePane(); // Add own Tab. tabbedPane.addTab("My Plugin", null,new JButton("Hello")); } }
在Workspace.java line 204中添加
public void buildLayout() {
new Enterprise();
if (!Default.getBoolean("CONTACT_LIST_DISABLED")) {
// Initialize Contact List
contactList = UIComponentRegistry.createContactList();
conferences = UIComponentRegistry.createConferenceServices();
// Init contact list.
contactList.initialize();
}
MessageTreePlugin mtp = new MessageTreePlugin();
mtp.initialize();
效果图在上面
今天就这么多吧 明天在自定义Tab上添加树型结构
相关推荐
本资料是集合20篇知网被引最高的基于spark的大数据论文,包括大数据Spark技术研究_刘峰波、大数据下基于Spark的电商实时推荐系统的设计与实现_岑凯伦、基于Spark的Apriori算法的改进_牛海玲、基于Spark的大数据混合...
大数据资料PPT Spark(二次开发篇) Hive(二次开发篇) HBase(二次开发篇 HDFS(二次开发篇)
大数据Spark二次开发.pdf
是openfire的spark 不是大数据的下载的请注意,内容包括spark最新源码以及二次开发入门教程
spark+openfire二次开发,包括配置基本插件实现等等
本课程论文阐述了spark和spark集成开发环境Intellij IDEA的安装与操作,也详细说明了基于Spark的电影推荐系统的开发流程。推荐引擎是最常用的机器学校应用,我们可以在各大购物网站上看到这方面的应用。基于Spark的...
基于Spark的全球新冠疫情系统的分析与实现
基于Spark大数据环境开发的二手房分析和预测系统源码设计 基于Spark大数据环境开发的二手房分析和预测系统源码设计 基于Spark大数据环境开发的二手房分析和预测系统源码设计 基于Spark大数据环境开发的二手房分析和...
一个完善的Spark Streaming二次封装开源框架,包含:实时流任务调度、kafka偏移量管理,web后台管理,web api启动、停止spark streaming,宕机告警、自动重启等等功能支持,用户只需要关心业务代码,无需关注繁琐的...
spark笔记整理文档spark笔记整理文档spark笔记整理文档
基于Spark的电影推荐系统的设计与实现.docx基于Spark的电影推荐系统的设计与实现.docx基于Spark的电影推荐系统的设计与实现.docx基于Spark的电影推荐系统的设计与实现.docx基于Spark的电影推荐系统的设计与实现.docx...
基于Spark架构开发的电影推荐系统源码.zip基于Spark架构开发的电影推荐系统源码.zip基于Spark架构开发的电影推荐系统源码.zip基于Spark架构开发的电影推荐系统源码.zip基于Spark架构开发的电影推荐系统源码.zip基于...
Spark学习笔记 Spark学习笔记 Spark学习笔记
基于Spark的实时电影推荐系统研究
该项目是我大三下学期的课程设计,主要实现一个基于Spark实现电影点评系统用户行为分析,用户可以对自己已经看过的电影做出一定的评价,然后对这些观影数据信息进行分析。
基于spark的商品推荐系统基于spark的商品推荐系统基于spark的商品推荐系统基于spark的商品推荐系统基于spark的商品推荐系统基于spark的商品推荐系统基于spark的商品推荐系统基于spark的商品推荐系统基于spark的商品...
大数据期末课设~基于spark的气象数据处理与分析 完整版Word 可以拿来直接交作业
第二章 Spark开发环境搭建 8 1 Spark运行模式 8 2 Spark环境搭建 8 2.1Scala的安装 8 2.2Spark的单节点配置 9 2.3Spark-Standalone集群配置 9 2.4Spark-on-Yarn模式配置 12 2.5Spark-on-Mesos模式配置 13 2.6Hive-on...
[毕业设计]基于Spark网易云音乐数据分析 .zip 完整代码,可运行
NULL 博文链接:https://huxj62488.iteye.com/blog/617826