Browse Source

REPORT-138763 fix: 控件顺序展示框 高度调整。漏翻面板,优化了一下 render

fbp/master
lemon 4 weeks ago
parent
commit
e15f63daf5
  1. 5
      designer-base/src/main/java/com/fr/design/foldablepane/UIExpandablePane.java
  2. 20
      designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java
  3. 3
      designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java

5
designer-base/src/main/java/com/fr/design/foldablepane/UIExpandablePane.java

@ -59,15 +59,14 @@ public class UIExpandablePane extends JPanel {
headerPanel = new HeaderPane(title);
headerPanel.addMouseListener(new PanelAction());
setcontentPanelontentPanelBorder();
this.add(headerPanel, BorderLayout.NORTH);
this.add(contentPanel, BorderLayout.CENTER);
if (withUnderline) {
this.add(column(
cell(headerPanel), cell(contentPanel).with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, 10, 0))),
fix(1).with(it -> it.setBorder(FineBorderFactory.createDefaultUnderlineBorder())))
.getComponent());
} else {
this.add(column(cell(headerPanel), cell(contentPanel)).getComponent());
this.add(headerPanel, BorderLayout.NORTH);
this.add(contentPanel, BorderLayout.CENTER);
}
setOpaque(false);

20
designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java

@ -1,6 +1,9 @@
package com.fr.design.gui.controlpane;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.actions.UpdateAction;
import com.fr.design.border.FineBorderFactory;
import com.fr.design.constants.UIConstants;
@ -9,6 +12,7 @@ import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ilist.ListModelElement;
import com.fr.design.gui.ilist.UIList;
import com.fr.design.gui.ilist.UINameEdList;
import com.fr.design.gui.itoolbar.UIToolbar;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.menu.ShortCut;
@ -26,12 +30,14 @@ import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
import javax.swing.ListSelectionModel;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
@ -49,7 +55,7 @@ import java.util.Comparator;
public class UISimpleListControlPane extends BasicPane {
public static final String LIST_NAME = "UISimpleControl_List";
protected UIList nameList;
protected UINameEdList nameList;
protected String selectedName;
private ShortCut4JControlPane[] shorts;
private ToolBarDef toolbarDef;
@ -108,10 +114,8 @@ public class UISimpleListControlPane extends BasicPane {
protected void initListPane(JPanel listPane) {
nameList = createJNameList();
nameList.setName(LIST_NAME);
nameList.setSelectionBackground(UIConstants.ATTRIBUTE_PRESS);
listPane.add(new UIScrollPane(nameList), BorderLayout.CENTER);
nameList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
nameList.addMouseListener(listMouseListener);
nameList.addListSelectionListener(new ListSelectionListener() {
@ -124,8 +128,8 @@ public class UISimpleListControlPane extends BasicPane {
});
}
public UIList createJNameList() {
UIList nameList = new UIList(new DefaultListModel()) {
public UINameEdList createJNameList() {
UINameEdList nameList = new UINameEdList(new DefaultListModel()) {
@Override
public int locationToIndex(Point location) {
int index = super.locationToIndex(location);
@ -411,6 +415,7 @@ public class UISimpleListControlPane extends BasicPane {
label = new UILabel();
initialLabelForeground = label.getForeground();
this.setLayout(new BorderLayout());
label.setBorder(new ScaledEmptyBorder(0, 6, 0, 0));
this.add(label, BorderLayout.CENTER);
}
@ -425,6 +430,7 @@ public class UISimpleListControlPane extends BasicPane {
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
setPreferredSize(new Dimension(list.getWidth(), FineUIScale.scale(UIManager.getInt("List.cellRender.height"))));
setComponentOrientation(list.getComponentOrientation());
Color bg = null;
@ -442,9 +448,7 @@ public class UISimpleListControlPane extends BasicPane {
}
if (isSelected) {
setBackground(bg == null ? list.getSelectionBackground() : bg);
setForeground(fg == null ? list.getSelectionForeground() : fg);
label.setForeground(Color.WHITE);
setBackground(FlatUIUtils.getUIColor("List.selectionInactiveBackground", Color.GRAY));
}
else {
setBackground(list.getBackground());

3
designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java

@ -1,6 +1,7 @@
package com.fr.design.widget.ui.designer.mobile;
import com.fine.theme.utils.FineLayoutBuilder;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.ExtraDesignClassManager;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator;
@ -77,7 +78,7 @@ public class ParaMobileDefinePane extends MobileWidgetDefinePane {
mobileWidgetListPane = new MobileWidgetListPane(designer, (WSortLayout) paraCreator.toData());
JPanel panelWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane();
panelWrapper.add(mobileWidgetListPane, BorderLayout.CENTER);
panelWrapper.setBorder(new ScaledEmptyBorder(0, 0, 10, 0));
return new UIExpandablePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Order"), 280, 20, panelWrapper);
}

Loading…
Cancel
Save