|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 | p; d7 R2 }1 v( v$ UMATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!
. V) |* T: ~: c6 w0 |/ C( p' T0 W' U8 {* D1 Q
Java Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。+ p2 ?$ u6 S( M ?1 w8 N) @% c! n
. j: y( ~5 k7 n# a' p比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)- [; D' `& l+ M/ e. 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/ D4 Z' v. [( Y5 K9 m
1 g7 B& p3 }5 Q; o, ~* o
, t8 { P7 P0 h+ B
) p5 z9 v: A( e# i2 i4 Z$ [! e3 d; a& y" E8 N2 d9 ~( S
另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性
6 X8 j! K% S6 \ R0 Y; N- 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代码不关闭也是可以的,但是不推荐# d9 m# v _4 a" n6 G: R
8 o+ b0 s; B5 V0 t( ? g2 L
9 J! C6 E+ X$ ^# ?/ a' C% S
9 }1 k9 e! q3 g0 `- i
7 C3 j3 T4 Y0 J/ r4 i
& H3 l, o) j0 C l. v4 J
' ]) \/ c: I2 Q! {; s$ P
# |0 k, l- V4 i' }3 u" k看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下6 v; H; @( ^& G2 p" M+ E
- uicontrol('Style','text',... % 注意是text,静态文本框哦
- 'Position',[10,10,200,50],...
- 'String', '<html><font color="red">我是中国人</font></html>')% Z. v- Z! w1 ~( m @
" N. x9 \# F& ]8 p! }
: k! [8 r# m1 k' ?2 ^* n2 e4 s
可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?+ n* I2 |* ?) x, Z
- B$ X( J3 N1 l$ j# ~. D
( ^* B% _8 N8 m. H0 Q" t( }: R( I+ Y: u: Y/ F' H
就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!
! m+ _0 S( V* h# W8 S; L6 h7 u5 S, N2 w2 l4 ]3 j5 n
|
|