2016-08-13 2 views
1

Как мы можем изменить горизонтальное выравнивание списка справа в MATLAB R2016 в AppDesigner или GUIDE? В списке нет никакого доступного свойства.Изменить горизонтальное выравнивание окна списка в MATLAB R2016a вправо

+1

Что это такое - конструктор приложений или GUIDE? Это ** ОЧЕНЬ ** разные вещи (один основан на JS/CSS, а другой - на Java). Если вы хотите сделать это с помощью App Designer, вам, возможно, придется манипулировать файлами '.css' в'% matlabroot%/toolbox/matlab/uitools/uifigureappjs/release/gbtclient/css/... 'С GUIDE это должно быть довольно легко ... –

+0

@ Dev-iL. В настоящее время я использую AppDesigner. Я упомянул два аспекта, чтобы задать более общий вопрос. Благодарю. – user2991243

+1

Будет ли приемлемым решение только в GUIDE? –

ответ

1

Мы можем найти некоторые подсказки о том, как это сделать с помощью 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 

Результат:

Manipulation of Swing components


App Designer решение может быть найдено в this post.

Смежные вопросы