|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' r9 a. B4 Z0 q1 d6 AMATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!
, v9 H' k# M& n: i9 y/ Z" P9 s- A7 H( w# i- a' s
Java Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。
' o0 i' J! S- w
, d, u" ~$ J' @+ `9 O# w. A% c. V比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)
! I; \; q3 |$ E$ b$ v) 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/ j t$ I6 V2 i" i+ S( B {' t
" r" Z% a2 c1 M* [$ O* ~
2 b: T" @6 n& w4 s% l2 e
# ^- ?4 B* u2 \' Q
* u8 M8 N3 a) o; S另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性( K7 y& m0 X0 l+ i- G, \; e
- 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代码不关闭也是可以的,但是不推荐9 c) \8 d5 h, A* \2 T
: `+ C) d& w3 M
$ x# `& O) q/ E2 ?, m
9 u1 I* u' u0 I8 M& w" [
/ w3 F- U% K- P5 M3 _6 B [5 r- g9 y; g- A& Q5 b
% O7 i1 v8 N8 W6 o
! [5 g5 X+ [. b" B B# S看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下
E1 Y7 c& X' I* m; V) W- uicontrol('Style','text',... % 注意是text,静态文本框哦
- 'Position',[10,10,200,50],...
- 'String', '<html><font color="red">我是中国人</font></html>')/ z+ P) Y5 R# C# J) {* z% q
1 p" Q# \! _+ V
4 F0 {+ _, l- N3 ]3 v+ @. h可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?3 S$ k# g( S; \- B/ ^* R. y
. J' z' }6 F. j# l
: F& j4 S( j0 e& h7 N
: Y! v* d+ f V$ i) i6 N) V8 p( S
就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!) y- {. T' C7 ^9 @' J/ s
( Y' X9 d" e6 g' Q+ \/ ` |
|