Browse Source

Merge pull request #766 in DESIGN/design from ~HADES/design:release/10.0 to release/10.0

* commit '8c559657db27622d614e7cd3e6a758cb3e30df38':
  REPORT-14465 【10.0冒烟】 数字控件“双精度型” 全部展开显示,最底端文字被遮挡
bugfix/10.0
Hades 5 years ago
parent
commit
0485e87386
  1. 13
      designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java

13
designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java

@ -26,6 +26,9 @@ import java.util.List;
public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver {
private static final long serialVersionUID = 1L;
private static final int TEXT_LENGTH = 3;
private static final int BUTTON_SIZE = 2;
private int currentButtonSize = 0;
protected List<UIToggleButton> labelButtonList;
protected int selectedIndex = -1;
private List<T> objectList;// 起到一个render的作用
@ -154,6 +157,7 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver {
if (!ArrayUtils.isEmpty(objects) && textArray.length == objects.length) {
this.objectList = Arrays.asList(objects);
}
currentButtonSize = textArray.length;
labelButtonList = new ArrayList<UIToggleButton>(textArray.length);
this.setLayout(getGridLayout(textArray.length));
this.setBorder(getGroupBorder());
@ -214,11 +218,20 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver {
protected void initButton(UIToggleButton labelButton) {
labelButton.setBorderPainted(false);
adjustButton(labelButton);
UIComponentUtils.setLineWrap(labelButton);
labelButtonList.add(labelButton);
this.add(labelButton);
}
private void adjustButton(UIToggleButton labelButton) {
if (labelButton.getText().length() > TEXT_LENGTH && currentButtonSize > BUTTON_SIZE) {
Dimension dimension = labelButton.getPreferredSize();
dimension.height <<= 1;
labelButton.setPreferredSize(dimension);
}
}
protected Border getGroupBorder() {
return BorderFactory.createEmptyBorder(1, 1, 1, 1);
}

Loading…
Cancel
Save