|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 ?, s( Q" |. O* |
MATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!. |# k% b% ]( ?5 R' a" N9 K8 Q" A
- r b7 x2 @8 E1 |# v
Java Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。9 ^4 T0 S8 c! E( [" ]; o
! ]7 M; X# j, Q% e; U" C( d" K
比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)
6 w: @9 B5 G8 K, f3 `0 I- uicontrol('Style','list',...
- 'Position',[10,10,70,70],...
- 'String', ...
- {'<html><font color="red">Hello</font></html>',... % font
- 'world',... % 正常文本
- '<html><font style="font-family:impact;color:green"><i>What a</i></font></html>',... % font和i
- '<html><font color="blue" face="Comic Sans MS">nice day!</font></html>'}); % font
4 {5 e' N, h/ _; N" C" b9 M4 n c
4 E" v9 B, x7 f7 D" @, j4 Z8 `, F
! z) ^, ?( W% N4 O$ V: w# |0 E
+ @# q% o/ F: Z& ^
( T' m+ N) S: R另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性 C6 N3 G% q; P$ ~& I" |! V c# d
- uicontrol('Style','popup',...
- 'Position',[10,10,150,100],...
- 'String', ...
- {'<html><body bgcolor="green">green background</body></html>', ...
- '<html><font color="red" size="+2">Large red font</font></html>', ...
- '<html><body bgcolor="#FF00FF">< PRE>fixed-width font'}); % html代码不关闭也是可以的,但是不推荐
* p3 n8 |- }( c. x6 ? C
' g! c5 ^. d# c; W/ p+ M# E
/ w, {0 E1 v( a
- {6 S& B3 I! W& L& C& {
" s4 m0 Q: N/ }! ~9 A1 |' t! z, D
# T0 e2 u- I6 j
. E6 w2 [. L9 u `0 U' z# p
/ @% E" Y$ [7 R/ A2 N看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下6 F j. N5 A- `- d" @ r) n4 G
- uicontrol('Style','text',... % 注意是text,静态文本框哦
- 'Position',[10,10,200,50],...
- 'String', '<html><font color="red">我是中国人</font></html>')
6 t4 a5 a9 _/ V: P
# R0 c( k0 I6 x) o
/ U$ s5 o2 f; {+ Q可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?
4 l# {+ k' }4 K3 \/ E+ e; u2 n# E
2 _& n. g F- A2 l+ g8 `- R
- Y3 f7 l5 `! Z( e, v2 _
8 D E+ J7 Y; s2 A, D& N就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!& t/ ~, l1 M% |( |! o
& A _# ?/ w" @ |
|