|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 `1 K& M4 H/ {' HMATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!7 c# e# p5 R V4 ]) U& V
5 u8 w; g6 x, C K1 I: [Java Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。
}) L; C/ {8 K3 R$ k
) A: c; ^2 Z2 W2 R- U4 ^* j9 z/ Z比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)# r6 q: U: I6 v2 E
- 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
2 f+ |5 b. e/ d: d
! K& u9 E0 a& t1 N8 a* F6 g
1 |8 @" I' B3 A1 ]- {1 I" a
2 r' l7 A+ A6 s! }1 r: [
) E N; ^/ |' [ p# k0 `7 ]" B3 k* j另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性
8 W0 f& f( S: \- C2 V! [/ {' E; m- 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代码不关闭也是可以的,但是不推荐" b% u. F4 a, b' Z& p8 Y# M: m
7 R |8 O* l+ N, g6 J
6 L3 v F) h% L" Z7 l- u
6 m. e" [+ }( u- W
9 X/ s3 D+ y# f' ~0 t6 `
7 H5 [7 i+ K: o
+ M( m3 t$ j/ {' j/ J' L: i% I' P5 w0 K n& }' s
看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下
% ^* H' ^* n. u* ~, g- uicontrol('Style','text',... % 注意是text,静态文本框哦
- 'Position',[10,10,200,50],...
- 'String', '<html><font color="red">我是中国人</font></html>')( t9 c, E2 V8 C `1 f
! a5 Q, ~8 ~4 h# |/ ^1 a9 X
' T6 {5 U# ~- c$ J! _可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?% P0 S( L5 m5 i, b) w* n
5 z9 C; b# m; x9 a3 M; t
6 G: J( `+ S- Y9 y) F% e
0 B& Y5 ?5 Q0 x7 X4 c
就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!, n8 O! l% \1 d" g+ @( O, T' t
# ?6 |7 \$ {# v% r- T: I
|
|