Мы можем найти некоторые подсказки о том, как это сделать с помощью GUIDE в this UndocumentedMatlab article. Нам нужна утилита findjobj
, чтобы получить дескриптор для элемента управления Java. Следующие шаги
function q38930371
hF = figure(...
'Position',[500 500 300 350],...
'Tag','Demo',...
'Menubar','None',...
'Resize','on');
hLb = uicontrol(...
'Parent',hF,...
'String',{ 'Item 1'; 'Item 2'; 'Item 3'; 'Item 4' },...
'Style','listbox',...
'Value',1,...
'Position',[50 50 200 250],...
'Children',[],...
'Tag','listbox1');
% Get a handle to the Java control:
jSp = findjobj(hLb);
% Get the list cell renderer
jCr = jSp.getViewport.getView.getCellRenderer;
% Set the horizontal alignment of the renderer:
% https://docs.oracle.com/javase/7/docs/api/javax/swing/DefaultListCellRenderer.html
jCr.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
% Refresh view:
jSp.repaint
Результат:
App Designer решение может быть найдено в this post.
Что это такое - конструктор приложений или GUIDE? Это ** ОЧЕНЬ ** разные вещи (один основан на JS/CSS, а другой - на Java). Если вы хотите сделать это с помощью App Designer, вам, возможно, придется манипулировать файлами '.css' в'% matlabroot%/toolbox/matlab/uitools/uifigureappjs/release/gbtclient/css/... 'С GUIDE это должно быть довольно легко ... –
@ Dev-iL. В настоящее время я использую AppDesigner. Я упомянул два аспекта, чтобы задать более общий вопрос. Благодарю. – user2991243
Будет ли приемлемым решение только в GUIDE? –