www.gusucode.com > GUI的布局工具箱 > GUI的布局工具箱/GUI的布局工具箱/GUILayout-v1p10/layoutHelp/Examples/callbackexample.m
function callbackexample() % Create application data colorNames = { 'Red' 'Orange' 'Yellow' 'Green' 'Blue' 'Indigo' 'Violet' }; colorValues = [ 1.0 0.2 0.2 1.0 0.6 0.2 1.0 1.0 0.4 0.6 1.0 0.6 0.2 0.4 1.0 0.4 0.1 0.6 0.7 0.5 1.0 ]; % Layout the interface f = figure(); p = uiextras.Panel( 'Parent', f, 'Title', 'A Panel', 'TitlePosition', 'CenterTop'); b = uiextras.HBoxFlex( 'Parent', p, 'Spacing', 5, 'Padding', 5 ); hList = uicontrol( 'Style', 'listbox', 'Parent', b, ... 'String', colorNames, ... 'Back', 'w' ); hButton = uicontrol( 'Parent', b, ... 'Background', colorValues(1,:), ... 'String', colorNames{1} ); set( b, 'Sizes', [-1 -3] ); % Add user interactions set( hList, 'Callback', @onChangeColor ); function onChangeColor( source, ~ ) idx = get( source, 'Value' ); set( hButton, 'Background', colorValues(idx,:), 'String', colorNames{idx} ) end % onChangeColor end % main