Browse Source

REPORT-45473 数据集命名超过16个字符时,关联数据集中不显示数据集名称

【问题原因】之前的逻辑是调用代表数据集名称的UILabel的getPreferredSize()获取width,然后跟常量143去比较,如果超过了143,就将其中内容减短几个字符,加上"...",然后循环接着比较。此时UILabel还没有被添加到panel中,当获取到的width比较贴近143时,添加了之后由于布局变化导致宽度超出143,表现为数据集名称显示丢失
【改动思路】将143缩小为130,差不多是缩小了一个汉字或者两个字母在UILabel中占的宽度,更容易触发判断条件以减短字符然后添加"...",这样UILabel被添加到panel中宽度存在细微变化也不会超过原来的143,数据集名称可以正常显示
bugfix/10.0
Yvan 4 years ago
parent
commit
afa4663203
  1. 2
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/MultiTDTableDataPane.java

2
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/MultiTDTableDataPane.java

@ -41,7 +41,7 @@ import java.util.Map.Entry;
public class MultiTDTableDataPane extends AbstractTableDataPane<MultiTDTableData> {
private static final int MAX_LENTH_OF_DATASET = 143; //关联数据集面板最大显示的数据集长度,超出这个长度显示数据集名称+“...”
private static final int MAX_LENTH_OF_DATASET = 130; //关联数据集面板最大显示的数据集长度,超出这个长度显示数据集名称+“...”
private static final int MIN_BAR_NUMBER = 10;
private static final int SUB_LENGTH = 4;
private JPanel centerPanel;

Loading…
Cancel
Save