1

我有一个 6 行和 6 列的 uitable,我想以全屏模式显示它,我可以更改列宽,但不能更改行高。
Extent 是可用矩形的大小,但它是只读属性。

4

2 回答 2

1

使用传统方法,改变行高的唯一可能性是通过调整'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 将相邻的单元格合并在一起:

在此处输入图像描述

可能是一个繁琐的解决方法,并且没有代码示例。

于 2013-12-14T15:17:59.350 回答
0

例如,您可以使用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将有一个从http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.htmlsetRowHeight继承的方法

于 2013-12-14T15:39:53.120 回答