Browse Source

REPORT-99485 移动样式相关方法常亮

newui
vito 10 months ago
parent
commit
d3f565be26
  1. 3
      designer-base/src/main/java/com/fine/theme/light/ui/FineCombinationButtonUI.java
  2. 2
      designer-base/src/main/java/com/fine/theme/light/ui/FineTemplateTabPaneUI.java
  3. 74
      designer-base/src/main/java/com/fine/theme/utils/FineClientProperties.java
  4. 80
      designer-base/src/main/java/com/fine/theme/utils/FineUIStyle.java
  5. 6
      designer-base/src/main/java/com/fr/design/gui/ibutton/UIButton.java
  6. 4
      designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java
  7. 11
      designer-base/src/main/java/com/fr/design/gui/ibutton/UICombinationButton.java
  8. 10
      designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java
  9. 29
      designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java
  10. 5
      designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java
  11. 12
      designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties
  12. 20
      designer-base/src/test/java/com/fr/design/gui/storybook/components/ButtonStoryBoard.java
  13. 6
      designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java
  14. 5
      designer-realize/src/main/java/com/fr/design/mainframe/bbs/UserInfoLabel.java

3
designer-base/src/main/java/com/fine/theme/light/ui/FineCombinationButtonUI.java

@ -1,6 +1,7 @@
package com.fine.theme.light.ui;
import com.fine.theme.utils.FineClientProperties;
import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatPanelUI;
import com.formdev.flatlaf.ui.FlatUIUtils;
@ -77,7 +78,7 @@ public class FineCombinationButtonUI extends FlatPanelUI {
switch (e.getPropertyName()) {
case FineClientProperties.STYLE_CLASS:
UICombinationButton b = (UICombinationButton) e.getSource();
if (FineClientProperties.STYLE_PRIMARY.equals(e.getNewValue())) {
if (FineUIStyle.STYLE_PRIMARY.equals(e.getNewValue())) {
b.setPrimary();
}
b.repaint();

2
designer-base/src/main/java/com/fine/theme/light/ui/FineTemplateTabPaneUI.java

@ -1,7 +1,6 @@
package com.fine.theme.light.ui;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineClientProperties;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fr.base.GraphHelper;
@ -114,7 +113,6 @@ public class FineTemplateTabPaneUI extends PanelUI {
moreAction = new LazyIcon("tool_more");
moreHoverAction = new LazyIcon("clear_hover");
fileIcon = new LazyIcon("cpt_icon");
FineClientProperties.setStyle(tabPane, "Default");
leadingWidth = scale(LEADING_WIDTH);
trailingWidth = scale(TRAILING_WIDTH);

74
designer-base/src/main/java/com/fine/theme/utils/FineClientProperties.java

@ -1,10 +1,7 @@
package com.fine.theme.utils;
import com.finebi.cbb.utils.StringUtils;
import com.formdev.flatlaf.FlatClientProperties;
import javax.swing.JComponent;
/**
* FR-UI中使用的各类属性
*
@ -17,80 +14,9 @@ public interface FineClientProperties extends FlatClientProperties {
//--------------------------- ButtonGroup -----------------------
String BUTTON_TYPE_GROUP = "group";
String STYLE_PRIMARY = "primary";
String STYLE_SECONDARY = "secondary";
String STYLE_SIZE_MEDIUM = "mediumSize";
String STYLE_SIZE_SMALL = "smallSize";
String BUTTON_TYPE_LEFT_ROUND_RECT = "leftRoundRect";
String BUTTON_TYPE_RIGHT_ROUND_RECT = "rightRoundRect";
/**
* 添加组件的样式类类似css该方法会接在原样式后方
* <code>
* FineClientProperties.appendStyle("primary small")
* </code>
*
* @param it 组件
* @param styleClass 样式字符串支持连续添加类用空格
*/
static void appendStyle(JComponent it, String styleClass) {
Object oriProperty = it.getClientProperty(FineClientProperties.STYLE_CLASS);
if (oriProperty instanceof String && StringUtils.isNotBlank((String) oriProperty)) {
styleClass = oriProperty + " " + styleClass;
}
it.putClientProperty(FineClientProperties.STYLE_CLASS, styleClass);
}
/**
* 设置组件的样式类类似css该方法会替换原样式
* <code>
* FineClientProperties.setStyle("primary small")
* </code>
*
* @param jComponent 组件
* @param styleClass 样式字符串支持连续添加类用空格
*/
static void setStyle(JComponent jComponent, String styleClass) {
jComponent.putClientProperty(FineClientProperties.STYLE_CLASS, styleClass);
}
/**
* 样式组合
*
* @param styleClasses 所有样式
* @return 样式列表
*/
static String join(String... styleClasses) {
final StringBuilder sb = new StringBuilder();
for (final String style : styleClasses) {
if (style == null) {
continue;
}
if (sb.length() > 0) {
sb.append(" ");
}
sb.append(style);
}
return sb.toString();
}
/**
* 包含样式
*
* @param jComponent 组件
* @param styleClass 样式
* @return 是否包含指定的样式
*/
static boolean hasStyle(JComponent jComponent, String styleClass) {
Object style = jComponent.getClientProperty(FineClientProperties.STYLE_CLASS);
if (style instanceof String && StringUtils.isNotBlank((String) style)) {
return ((String) style).contains(styleClass);
}
return false;
}
String BUTTON_GROUP_POSITION = "group_position";
int GROUP_BUTTON_POSITION_INNER = 0;

80
designer-base/src/main/java/com/fine/theme/utils/FineUIStyle.java

@ -1,5 +1,9 @@
package com.fine.theme.utils;
import com.finebi.cbb.utils.StringUtils;
import javax.swing.JComponent;
/**
* UI样式工具
*
@ -10,6 +14,82 @@ package com.fine.theme.utils;
public interface FineUIStyle {
String IN_TOOLBAR_GROUP = "inToolbarGroup";
String STYLE_PRIMARY = "primary";
String STYLE_SECONDARY = "secondary";
String STYLE_SIZE_MEDIUM = "mediumSize";
String STYLE_SIZE_SMALL = "smallSize";
String MENU_BAR = "menuBar";
String LIGHT_GREY = "lightGrey";
String IN_TOOLBAR_LEFT = "inToolbarLeft";
String IN_TOOLBAR_RIGHT = "inToolbarRight";
String NORMAL_COLOR = "normalColor";
String TOP_TOOLS = "topTools";
String BRAND_COLOR_LABEL = "brandColorLabel";
/**
* 添加组件的样式类类似css该方法会接在原样式后方
* <code>
* FineClientProperties.appendStyle("primary small")
* </code>
*
* @param it 组件
* @param styleClass 样式字符串支持连续添加类用空格
*/
static void appendStyle(JComponent it, String styleClass) {
Object oriProperty = it.getClientProperty(FineClientProperties.STYLE_CLASS);
if (oriProperty instanceof String && StringUtils.isNotBlank((String) oriProperty)) {
styleClass = oriProperty + " " + styleClass;
}
it.putClientProperty(FineClientProperties.STYLE_CLASS, styleClass);
}
/**
* 设置组件的样式类类似css该方法会替换原样式
* <code>
* FineClientProperties.setStyle("primary small")
* </code>
*
* @param jComponent 组件
* @param styleClass 样式字符串支持连续添加类用空格
*/
static void setStyle(JComponent jComponent, String styleClass) {
jComponent.putClientProperty(FineClientProperties.STYLE_CLASS, styleClass);
}
/**
* 样式组合
*
* @param styleClasses 所有样式
* @return 样式列表
*/
static String joinStyle(String... styleClasses) {
final StringBuilder sb = new StringBuilder();
for (final String style : styleClasses) {
if (style == null) {
continue;
}
if (sb.length() > 0) {
sb.append(" ");
}
sb.append(style);
}
return sb.toString();
}
/**
* 包含样式
*
* @param jComponent 组件
* @param styleClass 样式
* @return 是否包含指定的样式
*/
static boolean hasStyle(JComponent jComponent, String styleClass) {
Object style = jComponent.getClientProperty(FineClientProperties.STYLE_CLASS);
if (style instanceof String && StringUtils.isNotBlank((String) style)) {
return ((String) style).contains(styleClass);
}
return false;
}
}

6
designer-base/src/main/java/com/fr/design/gui/ibutton/UIButton.java

@ -1,7 +1,6 @@
package com.fr.design.gui.ibutton;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineClientProperties;
import com.fr.base.CellBorderStyle;
import com.fr.base.svg.IconUtils;
import com.fr.design.constants.UIConstants;
@ -25,6 +24,9 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.RoundRectangle2D;
import static com.fine.theme.utils.FineUIStyle.STYLE_PRIMARY;
import static com.fine.theme.utils.FineUIStyle.hasStyle;
public class UIButton extends JButton implements UIObserver, UITextComponent {
private static final int TOOLTIP_INIT_DELAY = 300; // 延迟 0.3s 显示提示文字
@ -280,7 +282,7 @@ public class UIButton extends JButton implements UIObserver, UITextComponent {
*/
public void setNormalPainted(boolean isNormalPressed) {
this.isNormalPainted = isNormalPressed;
boolean primary = FineClientProperties.hasStyle(this, FineClientProperties.STYLE_PRIMARY);
boolean primary = hasStyle(this, STYLE_PRIMARY);
if (!isNormalPainted() && !primary) {
setOpaque(false);
}

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

@ -4,8 +4,8 @@ import com.fine.swing.ui.layout.Column;
import com.fine.swing.ui.layout.Row;
import com.fine.swing.ui.layout.Spacer;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.utils.FineClientProperties;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils;
import com.fr.design.event.GlobalNameListener;
import com.fr.design.event.GlobalNameObserver;
@ -270,7 +270,7 @@ public class UIButtonGroup<T> extends Column implements GlobalNameObserver, UIOb
inToolbar = true;
for (UIToggleButton uiToggleButton : labelButtonList) {
uiToggleButton.putClientProperty(BUTTON_TYPE, BUTTON_TYPE_TOOLBAR_BUTTON);
FineClientProperties.setStyle(uiToggleButton, IN_TOOLBAR_GROUP);
FineUIStyle.setStyle(uiToggleButton, IN_TOOLBAR_GROUP);
uiToggleButton.set4ToolbarButton();
uiToggleButton.setBorderPainted(false);
}

11
designer-base/src/main/java/com/fr/design/gui/ibutton/UICombinationButton.java

@ -12,8 +12,10 @@ import java.util.function.Consumer;
import static com.fine.theme.utils.FineClientProperties.BUTTON_TYPE_LEFT_ROUND_RECT;
import static com.fine.theme.utils.FineClientProperties.BUTTON_TYPE_RIGHT_ROUND_RECT;
import static com.fine.theme.utils.FineClientProperties.STYLE_PRIMARY;
import static com.fine.theme.utils.FineClientProperties.setStyle;
import static com.fine.theme.utils.FineUIStyle.IN_TOOLBAR_LEFT;
import static com.fine.theme.utils.FineUIStyle.IN_TOOLBAR_RIGHT;
import static com.fine.theme.utils.FineUIStyle.STYLE_PRIMARY;
import static com.fine.theme.utils.FineUIStyle.setStyle;
import static com.formdev.flatlaf.FlatClientProperties.BUTTON_TYPE;
/**
@ -123,6 +125,7 @@ public class UICombinationButton extends JPanel {
public void setPrimary() {
setStyle(leftButton, STYLE_PRIMARY);
setStyle(rightButton, STYLE_PRIMARY);
}
@ -136,9 +139,9 @@ public class UICombinationButton extends JPanel {
public void set4Toolbar() {
leftButton.setBorderPainted(false);
setStyle(leftButton, "inToolbarLeft");
setStyle(leftButton, IN_TOOLBAR_LEFT);
rightButton.setBorderPainted(false);
setStyle(rightButton, "inToolbarRight");
setStyle(rightButton, IN_TOOLBAR_RIGHT);
}
protected void showPopWindow(JPopupMenu menu) {

10
designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java

@ -24,7 +24,9 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import static com.fine.theme.utils.FineClientProperties.setStyle;
import static com.fine.theme.utils.FineUIStyle.NORMAL_COLOR;
import static com.fine.theme.utils.FineUIStyle.TOP_TOOLS;
import static com.fine.theme.utils.FineUIStyle.setStyle;
/**
@ -87,7 +89,7 @@ public class CenterRegionContainerPane extends JPanel {
this.add(centerTemplateCardPane = new DesktopCardPane(), BorderLayout.CENTER);
centerTemplateCardPane.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
this.add(toolbarPane, BorderLayout.NORTH);
setStyle(this, "NormalColorPane");
setStyle(this, NORMAL_COLOR);
}
public ToolBarMenuDock getToolBarMenuDock() {
@ -99,7 +101,7 @@ public class CenterRegionContainerPane extends JPanel {
*/
private void combineUpTooBar() {
combineUp = new UIToolbar(FlowLayout.LEFT);
setStyle(combineUp, "topTools");
setStyle(combineUp, TOP_TOOLS);
combineUp.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
combineUp.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 2));
setUpUpToolBar(null);
@ -221,7 +223,7 @@ public class CenterRegionContainerPane extends JPanel {
// 颜色,字体那些按钮的工具栏
toolbarPane.add(toolbarComponent = ad.resetToolBar(toolbarComponent, plus), BorderLayout.CENTER);
setStyle(toolbarComponent, "topTools");
setStyle(toolbarComponent, TOP_TOOLS);
toolbarComponent.setBorder(new ScaledEmptyBorder(0, 10, 10, 10));
JPanel customNorthPane = strategy.customNorthPane(toolbarPane, plus);
if (!isExist(customNorthPane)) {

29
designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java

@ -3,17 +3,13 @@ package com.fr.design.mainframe;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.FlatDarculaLaf;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fr.base.BaseUtils;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.islider.UISlider;
import com.fr.design.gui.itextfield.UINumberField;
import com.fr.design.utils.gui.GUICoreUtils;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.event.ChangeEvent;
@ -25,7 +21,6 @@ import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@ -37,13 +32,14 @@ import java.awt.event.MouseEvent;
import java.awt.geom.Path2D;
import java.math.BigDecimal;
import static com.fine.theme.utils.FineClientProperties.setStyle;
import static com.fine.theme.utils.FineUIStyle.LIGHT_GREY;
import static com.fine.theme.utils.FineUIStyle.setStyle;
/**
* Created by MoMeak on 2017/7/13.
*/
public class JFormSliderPane extends JPanel {
public static final Image APPFIT_V0 = BaseUtils.readImage("com/fr/design/images/control/icon_thumb_normal.png");
private static final double ONEPOINTEIGHT = 1.8;
private static final int SIX = 6;
@ -68,7 +64,7 @@ public class JFormSliderPane extends JPanel {
public JFormSliderPane() {
this.setLayout(new BorderLayout());
setStyle(this, "LightGreyPanel");
setStyle(this, LIGHT_GREY);
initSlider();
initDownUpButton();
initShowValField();
@ -294,22 +290,5 @@ public class JFormSliderPane extends JPanel {
public void addValueChangeListener(ChangeListener changeListener){
this.slider.addChangeListener(changeListener);
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel( new FlatDarculaLaf() );
} catch( Exception ex ) {
System.err.println( "Failed to initialize LaF" );
}
JFrame jf = new JFrame("test");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel content = (JPanel) jf.getContentPane();
content.setLayout(new BorderLayout());
content.add(JFormSliderPane.getInstance(), BorderLayout.CENTER);
GUICoreUtils.centerWindow(jf);
jf.setSize(400, 80);
jf.setVisible(true);
}
}

5
designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java

@ -1,5 +1,6 @@
package com.fr.design.mainframe;
import com.fine.theme.utils.FineUIStyle;
import com.fr.design.DesignState;
import com.fr.design.DesignerEnvManager;
import com.fr.design.ExtraDesignClassManager;
@ -69,7 +70,7 @@ public class NorthRegionContainerPane extends JPanel {
this.setLayout(new BorderLayout());
this.add(initNorthEastPane(ad), BorderLayout.EAST);
this.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIManager.getColor("North.border")));
setStyle(this, "MenuBar");
FineUIStyle.setStyle(this, FineUIStyle.MENU_BAR);
}
/**
@ -152,7 +153,7 @@ public class NorthRegionContainerPane extends JPanel {
public void execute(Object... objects) {
bbsLoginPane[0] = ad.createBBSLoginPane();
}
}, SupportOSImpl. BBS_USER_LOGIN_PANE);
}, SupportOSImpl.BBS_USER_LOGIN_PANE);
processor.hold(northEastPane, LogMessageBar.getInstance(), bbsLoginPane[0]);
}
northEastPane.add(ad.createAlphaFinePane());

12
designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties

@ -1236,13 +1236,17 @@ CellOtherSetPane.height=$Component.defaultHeight
[style]ToolBar.topTools = \
background: #fff
[style]Panel.NormalColorPane=\
[style]Panel.normalColor=\
background: $fill.normal
[style]Panel.LightGreyPanel=\
[style]Panel.lightGrey=\
background: $Center.OuterShadowColor
[style]Panel.MenuBar=\
[style]Panel.menuBar=\
background: $MenuBar.background
[style]Label.BrandColorLabel=\
[style]Label.brandColorLabel=\
background: $brand.normal;\
foreground: $text.white;\
opaque: true

20
designer-base/src/test/java/com/fr/design/gui/storybook/components/ButtonStoryBoard.java

@ -16,10 +16,10 @@ import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.theme.utils.FineClientProperties.STYLE_PRIMARY;
import static com.fine.theme.utils.FineClientProperties.STYLE_SIZE_SMALL;
import static com.fine.theme.utils.FineClientProperties.join;
import static com.fine.theme.utils.FineClientProperties.setStyle;
import static com.fine.theme.utils.FineUIStyle.STYLE_PRIMARY;
import static com.fine.theme.utils.FineUIStyle.STYLE_SIZE_SMALL;
import static com.fine.theme.utils.FineUIStyle.joinStyle;
import static com.fine.theme.utils.FineUIStyle.setStyle;
/**
* 按钮
@ -67,24 +67,24 @@ public class ButtonStoryBoard extends StoryBoard {
row(20,
cell(new UILabel("正常")),
cell(new UIButton("按钮"))
.with(it -> setStyle(it, join(STYLE_PRIMARY, STYLE_SIZE_SMALL))),
.with(it -> setStyle(it, joinStyle(STYLE_PRIMARY, STYLE_SIZE_SMALL))),
cell(new UIButton("按钮", new LazyIcon("add")))
.with(it -> setStyle(it, join(STYLE_PRIMARY, STYLE_SIZE_SMALL))),
.with(it -> setStyle(it, joinStyle(STYLE_PRIMARY, STYLE_SIZE_SMALL))),
cell(new UIButton(new LazyIcon("multi")))
.with(it -> setStyle(it, join(STYLE_PRIMARY, STYLE_SIZE_SMALL)))
.with(it -> setStyle(it, joinStyle(STYLE_PRIMARY, STYLE_SIZE_SMALL)))
),
row(20,
cell(new UILabel("禁用")),
cell(new UIButton("按钮")).with(it -> {
setStyle(it, join(STYLE_PRIMARY, STYLE_SIZE_SMALL));
setStyle(it, joinStyle(STYLE_PRIMARY, STYLE_SIZE_SMALL));
it.setEnabled(false);
}),
cell(new UIButton("保存", new LazyIcon("save"))).with(it -> {
setStyle(it, join(STYLE_PRIMARY, STYLE_SIZE_SMALL));
setStyle(it, joinStyle(STYLE_PRIMARY, STYLE_SIZE_SMALL));
it.setEnabled(false);
}),
cell(new UIButton(new LazyIcon("add"))).with(it -> {
setStyle(it, join(STYLE_PRIMARY, STYLE_SIZE_SMALL));
setStyle(it, joinStyle(STYLE_PRIMARY, STYLE_SIZE_SMALL));
it.setEnabled(false);
})
)

6
designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java

@ -1,6 +1,7 @@
package com.fr.design.mainframe;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fr.base.GraphHelper;
@ -54,7 +55,8 @@ import java.awt.geom.RoundRectangle2D;
import java.util.ArrayList;
import java.util.List;
import static com.fine.theme.utils.FineClientProperties.setStyle;
import static com.fine.theme.utils.FineUIStyle.LIGHT_GREY;
/**
* NameTabPane of sheets
@ -165,7 +167,7 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti
this.addMouseMotionListener(this);
this.setBorder(null);
this.setForeground(fontColor);
setStyle(this, "LightGreyPanel");
FineUIStyle.setStyle(this, LIGHT_GREY);
leftButton = new UIButton(LEFT_ICON) {
@Override
public Dimension getPreferredSize() {

5
designer-realize/src/main/java/com/fr/design/mainframe/bbs/UserInfoLabel.java

@ -3,6 +3,7 @@
*/
package com.fr.design.mainframe.bbs;
import com.fine.theme.utils.FineUIStyle;
import com.fr.design.DesignerEnvManager;
import com.fr.design.bbs.BBSLoginUtils;
import com.fr.design.dialog.FineJOptionPane;
@ -48,7 +49,7 @@ import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import static com.fine.theme.utils.FineClientProperties.setStyle;
import static com.fine.theme.utils.FineUIStyle.BRAND_COLOR_LABEL;
/**
* @author neil
@ -151,7 +152,7 @@ public class UserInfoLabel extends UILabel {
public UserInfoLabel(UserInfoPane userInfoPane) {
init(userInfoPane);
setStyle(this, "BrandColorLabel");
FineUIStyle.setStyle(this, BRAND_COLOR_LABEL);
}
/**

Loading…
Cancel
Save