|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
( K6 P3 U8 S% h& ~- t2 y$ R5 Y+ y3 E
MATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!( K; Q1 g9 D& k
) E/ Q w7 e1 T) o0 f8 J
Java Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。
3 O& P( j' v6 B; A ^" I( V! w- ~# q" v8 w0 v1 H
比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)
2 `* G& \) T+ S' | k" M5 X- 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$ E. E! N' ?5 s3 I
2 d- t' V$ }# b; j0 q
# ?- g" A! a% Z9 h
" Y3 S9 K3 k8 c/ s3 Q& V
8 r( P. ]! G7 i1 N9 g: z, ~
另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性
0 {7 V$ C4 \* [, h& j$ t- 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代码不关闭也是可以的,但是不推荐
: T9 \, W, Y( @8 |2 ?
. Q8 j7 W0 p& E* f! ?% |( Q( D/ r- w8 J( s5 h7 z" i
. ^/ S4 w( i2 v6 h$ E, S8 ^
6 D4 O1 A' s' f" z# Z( n8 Q
2 b* n0 Y# [# C3 y2 ?; Q
& G7 F) a4 k& L: y' }. G9 y
1 }$ k$ k: i" D; r) @: G. @看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下) u; c6 h3 n `* f# x
- uicontrol('Style','text',... % 注意是text,静态文本框哦
- 'Position',[10,10,200,50],...
- 'String', '<html><font color="red">我是中国人</font></html>')/ B/ ^/ S4 M9 ]% X% o3 b& d
1 f2 y( ^" A! _! {% }3 U
* d9 _$ u6 {7 O, }可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?
" r$ W8 e5 U0 b6 Q7 U4 H9 {5 o' w& A, k- @! U
/ Z. y' A4 u7 F+ g/ f% @" w8 @
6 L/ U6 x6 o/ G; G% \- k就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!$ Z, A# D4 h. A( a+ O8 n t+ ~
; p- r8 |1 i0 u. ]& ]" v
|
|