www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/@mbcwidgets/@JList/JList.m
function obj = JList(varargin) %JLIST Construct a new JList object % % OBJ = JLIST(PROP, VALUE, ...) % Copyright 2011 The MathWorks, Inc. obj = mbcwidgets.JList; % Java Peer Object P = com.mathworks.toolbox.mbc.gui.peer.MBCJListPeer; % Call superclass constructor obj.javacomponent(P, varargin{:}); % Attach peer callbacks L = [... handle.listener(obj.Peer, 'valueChanged', {@valueChanged, obj}); ... handle.listener(obj.Peer, 'keyTyped', {@keyTyped, obj}); ... handle.listener(obj.Peer, 'actionPerformed', {@actionPerformed, obj}) ... ]; set(L, 'RecursionLimit', 50); obj.addListeners(L); function actionPerformed(~,~,obj) data.Selected = obj.SelectedIndex; e = xregGui.xregEventData(obj, 'ActionPerformed', data); if ~isempty(obj.ActionPerformedCallback) xregcallback(obj.ActionPerformedCallback,obj,e) end send(obj, 'ActionPerformed',e); function valueChanged(~, evt, obj) data.SelectedIndex = evt.JavaEvent.getSelectedIndex+1; e = xregGui.xregEventData(obj, 'ValueChanged', data); if ~isempty(obj.ValueChangedCallback) xregcallback(obj.ValueChangedCallback,obj,e) end send(obj, 'ValueChanged',e); function keyTyped(src,evt,obj) data = struct('Index', evt.JavaEvent.getSelectedRows+1, ... 'Modifiers',evt.JavaEvent.getModifiers,... 'KeyCode', evt.JavaEvent.getKeyCode); e = xregGui.xregEventData(src, 'KeyTyped', data); if ~isempty(obj.KeyTypedCallback) xregcallback(obj.KeyTypedCallback,obj,e) end send(obj, 'KeyTyped',e);