gpt4 book ai didi

user-interface - 在 MATLAB GUIDE 中显示大文本文件的最佳方式是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 20:13:17 24 4
gpt4 key购买 nike

如何使用 MATLAB GUIDE 控件在 GUI 中显示文本文件的内容?文本文件可能很长或很宽,因此它应该具有垂直和水平滚动条的能力。

最佳答案

多行编辑框可能是显示文本的最佳选择。示例:

%# read text file lines as cell array of strings
fid = fopen( fullfile(matlabroot,'license.txt') );
str = textscan(fid, '%s', 'Delimiter','\n'); str = str{1};
fclose(fid);

%# GUI with multi-line editbox
hFig = figure('Menubar','none', 'Toolbar','none');
hPan = uipanel(hFig, 'Title','Display window', ...
'Units','normalized', 'Position',[0.05 0.05 0.9 0.9]);
hEdit = uicontrol(hPan, 'Style','edit', 'FontSize',9, ...
'Min',0, 'Max',2, 'HorizontalAlignment','left', ...
'Units','normalized', 'Position',[0 0 1 1], ...
'String',str);

%# enable horizontal scrolling
jEdit = findjobj(hEdit);
jEditbox = jEdit.getViewport().getComponent(0);
jEditbox.setWrapping(false); %# turn off word-wrapping
jEditbox.setEditable(false); %# non-editable
set(jEdit,'HorizontalScrollBarPolicy',30); %# HORIZONTAL_SCROLLBAR_AS_NEEDED

%# maintain horizontal scrollbar policy which reverts back on component resize
hjEdit = handle(jEdit,'CallbackProperties');
set(hjEdit, 'ComponentResizedCallback',...
'set(gcbo,''HorizontalScrollBarPolicy'',30)')

要启用水平滚动,我们必须获得嵌入式 JScrollPane java 组件的句柄。我正在使用优秀的 FINDJOBJ功能。然后我们将 Horizo​​ntalScrollBarPolicy 属性设置为 javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_​​AS_NEEDED (= 30),如 post 中所述.我还禁用了文本编辑(只读)。

screenshot

关于user-interface - 在 MATLAB GUIDE 中显示大文本文件的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7910287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com