Как изменить подходящую высоту ячейки (высоту строки) в Matlab?

У меня есть uitable с 6 строками и 6 столбцами, и я хочу показать его в полноэкранном режиме, для этого я могу изменить ширину столбца, но не могу изменить высоту строки.
Extent - это размер uitable прямоугольника, но это свойства только для чтения.


person maia    schedule 14.12.2013    source источник
comment
Вы также хотите увеличить размер шрифта?   -  person thewaywewalk    schedule 14.12.2013
comment
да спасибо. Это было бы прекрасно.   -  person maia    schedule 14.12.2013


Ответы (2)


При традиционных подходах единственная возможность изменить высоту строки — это настроить свойство 'FontSize'.

Следующая функция даст вам полноэкранную таблицу. Вы можете настроить 'ColumnWidth' и 'FontSize', пока они полностью не заполнят ваш экран.

function fancyTable 

columnwidth = { 1920/2 1920/2 };
FontSize = 135;

h = figure('units','normalized','Position',[0 0 1 1],...
           'numbertitle','off','MenuBar','none');
defaultData = rand(5,2);
uitable(h,'Units','normalized','Position',[0 0 1 1],...
              'Data', defaultData,... 
              'ColumnName', [],'RowName',[],...
              'ColumnWidth', columnwidth,...
              'FontSize', FontSize,...
              'ColumnEditable', [false false],...
              'ColumnFormat', {'numeric' , 'numeric'});
end

введите здесь описание изображения


Я не вижу простого решения для изменения высоты строки независимо от размера шрифта.

Но есть некоторые идеи в недокументированном Matlab.

" 7. Настройки JIDE ... Аналогично, в этом разделе объясняется, как мы можем использовать JIDE для объединения смежных ячеек: "

введите здесь описание изображения

Может быть неудобным обходным путем, и примеров кода нет.

person thewaywewalk    schedule 14.12.2013

Вы можете, например. воспользуйтесь утилитой findjobj с файлообменника. Это приведет вас к базовому объекту Java таблицы, где-то по строкам:

t = uitable(...);
scrollPane = findjobj(t);
% not 100% sure about this, but there'll be a `UITablePeer` object somewhere within that scrollPane
jTable = scrollPane.getComponent(0); 

Этот jTable будет иметь метод setRowHeight, унаследованный от http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html

person sebastian    schedule 14.12.2013