- 在线时间
- 1084 小时
- 最后登录
- 2015-9-10
- 注册时间
- 2014-4-18
- 听众数
- 162
- 收听数
- 1
- 能力
- 10 分
- 体力
- 43976 点
- 威望
- 6 点
- 阅读权限
- 255
- 积分
- 15250
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 3471
- 主题
- 2620
- 精华
- 1
- 分享
- 0
- 好友
- 513
升级   0% TA的每日心情 | 开心 2015-3-12 15:35 |
---|
签到天数: 207 天 [LV.7]常住居民III
 群组: 第六届国赛赛前冲刺培 群组: 国赛讨论 群组: 2014美赛讨论 群组: 2014研究生数学建模竞 群组: 数学中国试看培训视频 |
编程方式修改MATLAB命令窗口(Command Window)颜色
经常会出现这样的应用情况,比如我们需要同时打开两个MATLAB应用程序,此时我们希望能够通过颜色直观的区分它们。我们知道,可以通过File/Preferences菜单进行交互式修改MATLAB命令窗口的前景色和背景色,但可否通过编程的方式进行调整呢?
首先我们可以尝试修改MATLAB首选项中的颜色方案来达到效果
% 不使用MATLAB首选项中的配色
com.mathworks.services.Prefs.setBooleanPref('ColorsUseSystem',0);
% 指定背景颜色
com.mathworks.services.Prefs.setColorPref('ColorsBackground',java.awt.Color.yellow);
com.mathworks.services.ColorPrefs.notifyColorListeners('ColorsBackground');
复制代码
但是很惋惜的是,上面的修改会对所有的MATLAB窗口和所有MATLAB会话生效,比如Command Window,Command History,WorkSpace等,也许这并不是我们需要的。
比如我们只是希望修改Command Window的颜色,并且重启MATLAB以后,刚才的配色方案自动失效。下面的代码片段将顺利的帮你达到预期的效果:
cmdWinDoc = com.mathworks.mde.cmdwin.CmdWinDocument.getInstance;
listeners = cmdWinDoc.getDocumentListeners;
ii=1;
% 循环的方式,找到jTextArea的实例,然后设置颜色
while true
jTextArea = listeners(ii);
if isa(jTextArea,'javax.swing.JTextArea$AccessibleJTextArea')
break
end
ii=ii+1;
end
复制代码
在找到jTextArea实例以后,我们就可以设置颜色,并且立即生效,重启MATLAB自动失效
% 可以使用下面任意一种方法设置背景色
jTextArea.setBackground(java.awt.Color.yellow);
jTextArea.setBackground(java.awt.Color(1,1,0));
set(jTextArea,'Background','yellow');
set(jTextArea,'Background',[1,1,0]);
复制代码
|
zan
|