将 MATLAB R2016a 中列表框的水平对齐方式更改为右对齐
Change horizontal alignment of list box in MATLAB R2016a to right
如何在 AppDesigner 或 GUIDE 的 MATLAB R2016 中将列表框的水平对齐方式更改为右对齐?列表框中没有可用的属性。
我们可以在 this UndocumentedMatlab article. We need the findjobj
实用程序中找到有关如何使用 GUIDE 执行此操作的一些线索,以获得 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 解决方案可在 中找到。
如何在 AppDesigner 或 GUIDE 的 MATLAB R2016 中将列表框的水平对齐方式更改为右对齐?列表框中没有可用的属性。
我们可以在 this UndocumentedMatlab article. We need the findjobj
实用程序中找到有关如何使用 GUIDE 执行此操作的一些线索,以获得 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 解决方案可在