Browse Source

REPORT-127437 feat: 【newui】面板翻新 & 解决部分图标、代码问题

newui
lemon 4 months ago
parent
commit
84b23616af
  1. 82
      designer-base/src/main/java/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java
  2. 18
      designer-base/src/main/java/com/fr/design/actions/help/alphafine/component/CustomSortPane.java
  3. 2
      designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java
  4. 2
      designer-base/src/main/java/com/fr/design/condition/DSColumnLiteConditionPane.java
  5. 2
      designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionTableProcedurePane.java
  6. 2
      designer-base/src/main/java/com/fr/design/data/datapane/connect/JNDIDefPane.java
  7. 2
      designer-base/src/main/java/com/fr/design/dialog/BasicPane.java
  8. 80
      designer-base/src/main/java/com/fr/design/gui/icombocheckbox/UIComboCheckBox.java
  9. 2
      designer-base/src/main/java/com/fr/design/gui/itableeditorpane/UITableEditorPane.java
  10. 2
      designer-base/src/main/java/com/fr/design/mainframe/check/CheckFontInfoDialog.java
  11. 2
      designer-base/src/main/java/com/fr/design/mainframe/loghandler/DesignerLogHandler.java
  12. 15
      designer-base/src/main/java/com/fr/design/mainframe/loghandler/LogHandlerBar.java
  13. 4
      designer-base/src/main/java/com/fr/design/style/color/ColorSelectDetailPane.java
  14. 2
      designer-base/src/main/java/com/fr/design/style/color/CustomChooserPanel.java
  15. 129
      designer-base/src/main/java/com/fr/env/RemoteEnvPane.java
  16. 3
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/clearAll.svg
  17. 14
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/selectedAll.svg
  18. 4
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/setting.svg
  19. 2
      designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
  20. 5
      designer-chart/src/main/java/com/fr/design/mainframe/ChartPropertyPane.java
  21. 2
      designer-realize/src/main/java/com/fr/design/actions/replace/ui/ITReplaceMainDialog.java
  22. 2
      designer-realize/src/main/java/com/fr/design/condition/ForeGroundPane.java
  23. 2
      designer-realize/src/main/java/com/fr/design/headerfooter/HFAttributesEditDialog.java
  24. 2
      designer-realize/src/main/java/com/fr/design/headerfooter/HeaderFooterPane.java
  25. 2
      designer-realize/src/main/java/com/fr/design/mainframe/AuthorityToolBarPane.java
  26. 2
      designer-realize/src/main/java/com/fr/design/report/NewReportBackgroundPane.java
  27. 1
      designer-realize/src/main/java/com/fr/design/report/ReportColumnsPane.java
  28. 81
      designer-realize/src/main/java/com/fr/design/report/SubReportPane.java
  29. 2
      designer-realize/src/main/java/com/fr/design/webattr/EditToolBar.java

82
designer-base/src/main/java/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java

@ -1,5 +1,9 @@
package com.fr.design.actions.help.alphafine;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.FRContext;
import com.fr.base.svg.IconUtils;
import com.fr.design.DesignerEnvManager;
@ -37,6 +41,11 @@ import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
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;
/**
* Created by XiaXiang on 2017/4/6.
*/
@ -74,13 +83,14 @@ public class AlphaFineConfigPane extends BasicPane {
}
private void initComponents() {
JPanel contentPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane();
createOpenPane(contentPane);
createOnlinePane(contentPane);
createShortcutsPane(contentPane);
createSearchConfigPane(contentPane);
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.add(contentPane, BorderLayout.NORTH);
add(column(
10,
cell(createOpenPane()),
cell(createOnlinePane()),
cell(createShortcutsPane()),
cell(createSearchConfigPane())
).getComponent());
}
private Component[][] initOnlineComponents() {
@ -91,11 +101,7 @@ public class AlphaFineConfigPane extends BasicPane {
}
// 搜索范围
private void createSearchConfigPane(JPanel contentPane) {
double[] rowSize = {ROW_HEIGHT, ROW_HEIGHT, ROW_HEIGHT};
double[] columnSize = {COLUMN_WIDTH, COLUMN_WIDTH, COLUMN_WIDTH};
JPanel searchConfigWrapperPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Search_Range"));
private Component createSearchConfigPane() {
// 搜索选项
productDynamicsCheckbox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_AlphaFine_Product_News"));
containActionCheckbox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Function"));
@ -105,11 +111,9 @@ public class AlphaFineConfigPane extends BasicPane {
containFileContentSearchCheckbox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Templates_Content"));
containTemplateShopCheckbox = new UICheckBox(Toolkit.i18nText("Fine-Design_Report_AlphaFine_Template_Shop"));
containMyTemplateCheckbox = new UICheckBox(Toolkit.i18nText("Fine-Design_Report_My_Templates"));
JPanel searchConfigPane = TableLayoutHelper.createTableLayoutPane(initSearchRangeComponents(), rowSize, columnSize);
// 自定义排序
JPanel customSortWrapperPane = new JPanel();
customSortWrapperPane.setPreferredSize(new Dimension(SEARCH_CONFIG_PANE_HEIGHT, SEARCH_CONFIG_PANE_WIDTH));
customSortWrapperPane.setAlignmentY(JPanel.TOP_ALIGNMENT);
customSortLabel = new ActionLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_AlphaFine_Config_Custom_Sort"), false);
customSortLabel.setForeground(UIConstants.NORMAL_BLUE);
@ -123,9 +127,11 @@ public class AlphaFineConfigPane extends BasicPane {
customSortLabel.setEnabled(false);
}
searchConfigWrapperPane.add(searchConfigPane);
searchConfigWrapperPane.add(customSortWrapperPane);
contentPane.add(searchConfigWrapperPane);
initSearchRangeComponents();
return FineUIUtils.wrapComponentWithTitle(column(5,
row(cell(productDynamicsCheckbox).weight(0.25), cell(containTemplateShopCheckbox).weight(0.25), cell(containDocumentCheckbox).weight(0.25), cell(customSortWrapperPane).weight(0.25)),
row(cell(containPluginCheckbox).weight(0.25), cell(containActionCheckbox).weight(0.25), cell(containMyTemplatePane).weight(0.25), flex(0.25))
).getComponent(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Search_Range"));
}
/**
@ -139,15 +145,10 @@ public class AlphaFineConfigPane extends BasicPane {
}
private Component[][] initSearchRangeComponents() {
private void initSearchRangeComponents() {
// 我的模板checkbox设置,点击后
initMyTemplateSearchPane();
Component[][] components = new Component[][]{
new Component[]{productDynamicsCheckbox, containTemplateShopCheckbox, containDocumentCheckbox},
new Component[]{containPluginCheckbox, containActionCheckbox, containMyTemplatePane},
};
// 添加选项点事件,无选中选项时自定排序按钮置灰
UICheckBox[] checkBoxes = new UICheckBox[]{productDynamicsCheckbox, containTemplateShopCheckbox, containDocumentCheckbox, containPluginCheckbox, containActionCheckbox, containMyTemplateCheckbox};
for (UICheckBox box : checkBoxes) {
@ -155,7 +156,6 @@ public class AlphaFineConfigPane extends BasicPane {
customSortLabel.setEnabled(hasSelectedSearchRangeCheckBox());
});
}
return components;
}
/**
@ -184,7 +184,7 @@ public class AlphaFineConfigPane extends BasicPane {
* 搜索范围-我的模板
*/
private void initMyTemplateSearchPane() {
containMyTemplatePane = new JPanel(new FlowLayout(FlowLayout.LEFT, 4, 5));
containMyTemplatePane = new JPanel(new BorderLayout(4, 5));
containMyTemplateCheckbox.setBorder(BorderFactory.createEmptyBorder());
containMyTemplateCheckbox.addActionListener(new ActionListener() {
@Override
@ -199,7 +199,7 @@ public class AlphaFineConfigPane extends BasicPane {
myTemplateSearchConfigButton = new JButton();
myTemplateSearchConfigButton.setBorder(BorderFactory.createEmptyBorder());
myTemplateSearchConfigButton.setMargin(new Insets(0, 0, 0, 0));
myTemplateSearchConfigButton.setIcon(IconUtils.readIcon("/com/fr/design/mainframe/alphafine/images/config.svg"));
myTemplateSearchConfigButton.setIcon(new LazyIcon("tool_config"));
myTemplateSearchMenu = new UIPopupMenu();
containTemplateNameSearchCheckbox = new UICheckBox(Toolkit.i18nText("Fine-Design_AlphaFine_Config_Name_Search"));
containFileContentSearchCheckbox = new UICheckBox(Toolkit.i18nText("Fine-Design_AlphaFine_Config_Content_Search"));
@ -209,11 +209,13 @@ public class AlphaFineConfigPane extends BasicPane {
containFileContentSearchCheckbox.setBackground(null);
myTemplateSearchMenu.add(containTemplateNameSearchCheckbox);
myTemplateSearchMenu.add(containFileContentSearchCheckbox);
containTemplateNameSearchCheckbox.setBorder(new ScaledEmptyBorder(0, 5, 0, 5));
containFileContentSearchCheckbox.setBorder(new ScaledEmptyBorder(0, 5, 0, 5));
myTemplateSearchConfigButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
GUICoreUtils.showPopupMenu(myTemplateSearchMenu, containMyTemplatePane, containMyTemplateCheckbox.getWidth(), containMyTemplatePane.getY());
GUICoreUtils.showPopupMenu(myTemplateSearchMenu, containMyTemplatePane, containMyTemplateCheckbox.getWidth(), containMyTemplatePane.getHeight());
}
@Override
@ -222,24 +224,22 @@ public class AlphaFineConfigPane extends BasicPane {
myTemplateSearchMenu.setVisible(false);
}
});
containMyTemplatePane.add("containMyTemplateCheckbox", containMyTemplateCheckbox);
containMyTemplatePane.add("myTemplateSearchConfigButton", myTemplateSearchConfigButton);
FineUIStyle.setStyle(myTemplateSearchConfigButton, FineUIStyle.PLAIN_BUTTON);
containMyTemplatePane.add(row(2, cell(containMyTemplateCheckbox), cell(myTemplateSearchConfigButton)).getComponent());
}
private void createShortcutsPane(JPanel contentPane) {
JPanel northPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Shortcut_Config"));
private Component createShortcutsPane() {
shortcutsField = new UITextField();
shortcutsField.setEditable(false);
shortcutsField.selectAll();
shortcutsField.setPreferredSize(new Dimension(100, 20));
initFieldListener();
northPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Open") + ":"));
northPane.add(shortcutsField);
UILabel label = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_SetShortcuts"));
label.setForeground(LABEL_TEXT);
northPane.add(label);
contentPane.add(northPane);
return FineUIUtils.wrapComponentWithTitle(
row(10, cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Open") + ":")),
cell(shortcutsField), cell(label)
).getComponent(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Shortcut_Config"));
}
private void initFieldListener() {
@ -265,8 +265,7 @@ public class AlphaFineConfigPane extends BasicPane {
});
}
private void createOnlinePane(JPanel contentPane) {
JPanel northPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Search_Type"));
private Component createOnlinePane() {
searchOnlineCheckbox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Enable_Internet_Search"));
needSegmentationCheckbox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Enable_Segmentation"));
searchOnlineCheckbox.addActionListener(new ActionListener() {
@ -292,15 +291,12 @@ public class AlphaFineConfigPane extends BasicPane {
double[] rowSize = {ROW_HEIGHT};
double[] columnSize = {COLUMN_WIDTH, COLUMN_WIDTH, COLUMN_WIDTH};
JPanel onlinePane = TableLayoutHelper.createTableLayoutPane(initOnlineComponents(), rowSize, columnSize);
northPane.add(onlinePane);
contentPane.add(northPane);
return FineUIUtils.wrapComponentWithTitle(onlinePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Search_Type"));
}
private void createOpenPane(JPanel contentPane) {
JPanel northPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Enable"));
private Component createOpenPane() {
enabledCheckbox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Enable_AlphaFine"));
northPane.add(enabledCheckbox);
contentPane.add(northPane);
return FineUIUtils.wrapComponentWithTitle(enabledCheckbox, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_AlphaFine_Enable"));
}
@Override

18
designer-base/src/main/java/com/fr/design/actions/help/alphafine/component/CustomSortPane.java

@ -1,6 +1,6 @@
package com.fr.design.actions.help.alphafine.component;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.help.alphafine.AlphaFineConfigPane;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.icheckbox.UICheckBox;
@ -74,14 +74,14 @@ public class CustomSortPane extends JPanel {
}
private void createToolbarPane() {
top = new UIButton(IconUtils.readIcon("com/fr/design/mainframe/alphafine/images/top.svg"));
bottom = new UIButton(IconUtils.readIcon("com/fr/design/mainframe/alphafine/images/bottom.svg"));
up = new UIButton(IconUtils.readIcon("com/fr/design/mainframe/alphafine/images/up.svg"));
down = new UIButton(IconUtils.readIcon("com/fr/design/mainframe/alphafine/images/down.svg"));
top.setDisabledIcon(IconUtils.readIcon("com/fr/design/mainframe/alphafine/images/top_disable.svg"));
bottom.setDisabledIcon(IconUtils.readIcon("com/fr/design/mainframe/alphafine/images/bottom_disable.svg"));
up.setDisabledIcon(IconUtils.readIcon("com/fr/design/mainframe/alphafine/images/up_disable.svg"));
down.setDisabledIcon(IconUtils.readIcon("com/fr/design/mainframe/alphafine/images/down_disable.svg"));
top = new UIButton(new LazyIcon("top"));
bottom = new UIButton(new LazyIcon("bottom"));
up = new UIButton(new LazyIcon("up"));
down = new UIButton(new LazyIcon("down"));
top.setDisabledIcon(new LazyIcon("top_disable"));
bottom.setDisabledIcon(new LazyIcon("bottom_disable"));
up.setDisabledIcon(new LazyIcon("up_disable"));
down.setDisabledIcon(new LazyIcon("down_disable"));
top.addActionListener(e -> {
SwingUtilities.invokeLater(() -> {
sortItemPane.setComponentZOrder(selectedLabel, 0);

2
designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java

@ -80,7 +80,7 @@ public abstract class ConditionAttributesPane<T> extends BasicBeanPane<T> {
addItemPane.add(toolBar, BorderLayout.WEST);
addItemPane.setBorder(new FineRoundBorder());
addItemPane.setPreferredSize(FineUIScale.scale(new Dimension(addItemPane.getPreferredSize().width, 24)));
addItemPane.setPreferredSize(new Dimension(addItemPane.getPreferredSize().width, FineUIScale.scale(24)));
selectedItemPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_S_Pane();

2
designer-base/src/main/java/com/fr/design/condition/DSColumnLiteConditionPane.java

@ -116,7 +116,7 @@ public class DSColumnLiteConditionPane extends LiteConditionPane<CommonCondition
}
});
conditionValuePane = createValueEditorPane();
keyColumnPane.setPreferredSize(FineUIScale.scale(new Dimension(175, keyColumnPane.getPreferredSize().height)));
keyColumnPane.setPreferredSize(new Dimension(FineUIScale.scale(175), keyColumnPane.getPreferredSize().height));
conditionOPComboBox.setPreferredSize(FineUIScale.scale(new Dimension(80, 20)));
UILabel columLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Available_Columns") + ":");
columLabel.setPreferredSize(FineUIScale.scale(new Dimension(68, 24)));

2
designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionTableProcedurePane.java

@ -79,7 +79,7 @@ public class ConnectionTableProcedurePane extends BasicPane {
JPanel centerPane = initCenterPane();
this.add(connectionComboBox, BorderLayout.NORTH);
this.add(centerPane, BorderLayout.CENTER);
this.setPreferredSize(FineUIScale.scale(new Dimension(WIDTH, getPreferredSize().height)));
this.setPreferredSize(new Dimension(FineUIScale.scale(WIDTH), getPreferredSize().height));
addKeyMonitor();
}

2
designer-base/src/main/java/com/fr/design/data/datapane/connect/JNDIDefPane.java

@ -75,7 +75,7 @@ public class JNDIDefPane extends JPanel {
"org.jboss.naming.HttpNamingContextFactory", "org.jnp.interfaces.NamingContextFactory", "com.caucho.burlap.BurlapContextFactory", });
JNDIFactoryComboBox.setEditable(true);
JNDIFactoryComboBox.addActionListener(jndiListener);
JNDIFactoryComboBox.setPreferredSize(FineUIScale.scale(new Dimension(30, JNDIFactoryComboBox.getPreferredSize().height + 2)));
JNDIFactoryComboBox.setPreferredSize(new Dimension(FineUIScale.scale(30), JNDIFactoryComboBox.getPreferredSize().height + FineUIScale.scale(2)));
// 上下文
JPanel contextPane = FRGUIPaneFactory.createBorderLayout_S_Pane();

2
designer-base/src/main/java/com/fr/design/dialog/BasicPane.java

@ -317,7 +317,7 @@ public abstract class BasicPane extends JPanel {
cell(showfield = new UILabel(" ")).weight(0.3)
).getComponent());
showfield.setForeground(new Color(204, 0, 1));
showfield.setPreferredSize(FineUIScale.scale(new Dimension(220, showfield.getPreferredSize().height)));
showfield.setPreferredSize(new Dimension(FineUIScale.scale(220), showfield.getPreferredSize().height));
this.add(northPane, BorderLayout.NORTH);
this.centerPane = bPane;
this.add(bPane, BorderLayout.CENTER);

80
designer-base/src/main/java/com/fr/design/gui/icombocheckbox/UIComboCheckBox.java

@ -169,42 +169,7 @@ public class UIComboCheckBox extends JComponent implements UIObserver, GlobalNam
}
private UITextField createEditor() {
UITextField editor = new UITextField() {
@Override
protected void initListener() {
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
attributeChange();
}
});
this.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
attributeChange();
}
});
UIComboCheckBox.this.popup.addPopupMenuListener(new PopupMenuListener() {
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
// do nothing
}
@Override
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
attributeChange();
if (uiObserverListener != null) {
uiObserverListener.doChange();
}
}
@Override
public void popupMenuCanceled(PopupMenuEvent e) {
// do nothing
}
});
}
};
UITextField editor = new TextField();
editor.setEditable(false);
editor.setPreferredSize(FineUIScale.scale(new Dimension(110, 20)));
editor.setBorder(BorderFactory.createMatteBorder(1, 1, 1, 0, UIManager.getColor("defaultBorderColor")));
@ -264,7 +229,7 @@ public class UIComboCheckBox extends JComponent implements UIObserver, GlobalNam
private void togglePopup() {
if (this.arrowButton.isEnabled()) {
popup.setBorder(new FineRoundBorder());
popup.setPreferredSize(FineUIScale.scale(new Dimension(this.getWidth(), (int) popup.getPreferredSize().getHeight())));
popup.setPreferredSize(new Dimension(FineUIScale.scale(this.getWidth()), (int) popup.getPreferredSize().getHeight()));
popup.show(this, 0, getHeight());
}
}
@ -430,6 +395,47 @@ public class UIComboCheckBox extends JComponent implements UIObserver, GlobalNam
this.arrowButton.setEnabled(enabled);
}
private class TextField extends UITextField {
@Override
protected void initListener() {
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
attributeChange();
}
});
this.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
attributeChange();
}
});
addPopupMenuListener();
}
private void addPopupMenuListener() {
UIComboCheckBox.this.popup.addPopupMenuListener(new PopupMenuListener() {
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
// do nothing
}
@Override
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
attributeChange();
if (uiObserverListener != null) {
uiObserverListener.doChange();
}
}
@Override
public void popupMenuCanceled(PopupMenuEvent e) {
// do nothing
}
});
}
}
/**
* 简单的测试demo
* @param args

2
designer-base/src/main/java/com/fr/design/gui/itableeditorpane/UITableEditorPane.java

@ -204,7 +204,7 @@ public class UITableEditorPane<T> extends BasicPane {
public static class TableHeaderRenderer extends DefaultTableCellRenderer {
public TableHeaderRenderer() {
setHorizontalAlignment(SwingConstants.LEFT);
setPreferredSize(FineUIScale.scale(new Dimension(this.getWidth(), 24)));
setPreferredSize(new Dimension(this.getWidth(), FineUIScale.scale(24)));
}
@Override

2
designer-base/src/main/java/com/fr/design/mainframe/check/CheckFontInfoDialog.java

@ -84,7 +84,7 @@ public class CheckFontInfoDialog extends JDialog implements ActionListener {
detailLabel.setText(Toolkit.i18nText("Fine_Designer_Look_Detail"));
upInTopPanel = row(
column(flex(), cell(imageLabel), flex()).with(it -> it.setPreferredSize(FineUIScale.scale(new Dimension(30, it.getHeight())))),
column(flex(), cell(imageLabel), flex()).with(it -> it.setPreferredSize(new Dimension(FineUIScale.scale(30), it.getHeight()))),
cell(messagePanel)).getComponent();
downInTopPanel = row(fix(30), row(cell(directUiLabel), cell(detailLabel), flex())).getComponent();
topPanel = column(cell(upInTopPanel), cell(downInTopPanel)).getComponent();

2
designer-base/src/main/java/com/fr/design/mainframe/loghandler/DesignerLogHandler.java

@ -223,7 +223,7 @@ public class DesignerLogHandler {
clear = new UIMenuItem(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Clear_All"));
clear.addActionListener(popupListener);
clear.setIcon(new LazyIcon("clear_all"));
clear.setIcon(new LazyIcon("clearStash"));
popup.add(clear);
selectAll.setAccelerator(KeyStroke.getKeyStroke('A', DEFAULT_MODIFIER));

15
designer-base/src/main/java/com/fr/design/mainframe/loghandler/LogHandlerBar.java

@ -1,8 +1,8 @@
package com.fr.design.mainframe.loghandler;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIStyle;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.BaseUtils;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.ui.util.UIUtil;
@ -48,11 +48,11 @@ public class LogHandlerBar extends JPanel implements ItemSelectable {
this.setLayout(new FlowLayout(FlowLayout.RIGHT, FLOW_LAYOUT_HGAP, FLOW_LAYOUT_VGAP));
// this.setUI(new LogHandlerBarUI());
this.text = text;
clear = creatUIButtonByIconId("clear_all");
clear = creatPlainButtonByIconId("clearStash");
clear.setToolTipText(i18nText("Fine-Design_Basic_Clear_All"));
selectedall = creatUIButtonByIconId("selected_all");
selectedall = creatPlainButtonByIconId("selected_all");
selectedall.setToolTipText(i18nText("Fine-Design_Basic_Select_All"));
set = creatUIButtonByIconId("setting");
set = creatPlainButtonByIconId("filter_popup");
set.setToolTipText(i18nText("Fine-Design_Report_Set"));
normalLabel = new UILabel(i18nText("Fine-Design_Basic_NNormal") + "(0)");
normalLabel.setBorder(new ScaledEmptyBorder(0, 0, 0, 10));
@ -68,12 +68,9 @@ public class LogHandlerBar extends JPanel implements ItemSelectable {
this.add(set);
}
private UIButton creatUIButtonByIconId(String iconId) {
private UIButton creatPlainButtonByIconId(String iconId) {
UIButton button = new UIButton(new LazyIcon(iconId, 18));
button.setMargin(null);
button.setOpaque(false);
button.setBackground(null);
button.setBorder(null);
FineUIStyle.setStyle(button, FineUIStyle.PLAIN_BUTTON);
return button;
}

4
designer-base/src/main/java/com/fr/design/style/color/ColorSelectDetailPane.java

@ -78,7 +78,7 @@ public class ColorSelectDetailPane extends BasicPane {
// 颜色选择器面板
selectedPanel = new JColorChooser(this.color);
selectedPanel.setPreferredSize(FineUIScale.scale(new Dimension(selectedPanel.getWidth(), SELECT_PANEL_HEIGHT)));
selectedPanel.setPreferredSize(new Dimension(selectedPanel.getWidth(), FineUIScale.scale(SELECT_PANEL_HEIGHT)));
selectedPanel.setPreviewPanel(new JPanel());
swatchChooserPanel = new SwatchChooserPanel();
@ -130,7 +130,7 @@ public class ColorSelectDetailPane extends BasicPane {
cell(new UILabel(i18nText("Fine-Design_Basic_Preview"))),
cell(previewPanel).with(it -> {
it.setBorder(new FineRoundBorder());
it.setPreferredSize(FineUIScale.scale(new Dimension(this.getPreferredSize().width, 120)));
it.setPreferredSize(new Dimension(this.getPreferredSize().width, FineUIScale.scale(120)));
it.setBackground(FlatUIUtils.getUIColor("background.normal", Color.WHITE));
})
)).with(it -> it.setBorder(new ScaledEmptyBorder(0, 10, 0, 10)))

2
designer-base/src/main/java/com/fr/design/style/color/CustomChooserPanel.java

@ -597,7 +597,7 @@ class CustomChooserPanel extends AbstractColorChooserPanel implements ColorSelec
*/
protected void buildChooser() {
setLayout(new BorderLayout(10, 0));
setPreferredSize(FineUIScale.scale(new Dimension((int) this.getPreferredSize().getWidth(), 180)));
setPreferredSize(new Dimension((int) this.getPreferredSize().getWidth(), FineUIScale.scale(180)));
add(buildRightPanel(), BorderLayout.CENTER);
JPanel container = new JPanel();
container.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 0));

129
designer-base/src/main/java/com/fr/env/RemoteEnvPane.java vendored

@ -1,5 +1,8 @@
package com.fr.env;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.DesignerEnvManager;
import com.fr.design.ExtraDesignClassManager;
import com.fr.design.beans.BasicBeanPane;
@ -76,6 +79,9 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
private UIButton okButton = new UIButton(Toolkit.i18nText("Fine-Design_Report_OK"));
private UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Cancel"));
private UILabel uiLabel = new UILabel();
private final int FIRST_COL_WIDTH = 72;
private final int SECOND_COL_WIDTH = 68;
/**
* 是否启用 https 勾选框
@ -251,50 +257,22 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
public RemoteEnvPane() {
// 配置内容面板
JPanel contentPanel = new JPanel(new BorderLayout());
contentPanel.setBorder(
BorderFactory.createCompoundBorder(
new EmptyBorder(6, 0, 0, 0),
UITitledBorder.createBorderWithTitle(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Config")))
);
// 服务器地址地址
final JPanel configPanel = new JPanel(new BorderLayout());
configPanel.setBorder(
BorderFactory.createCompoundBorder(
new EmptyBorder(15, 0, 0, 0),
BorderFactory.createTitledBorder(
new ModLineBorder(ModLineBorder.TOP),
Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Server")
)
)
);
certPathLabel.setHorizontalAlignment(SwingConstants.RIGHT);
certSecretKeyLabel.setHorizontalAlignment(SwingConstants.RIGHT);
certPathLabel.setHorizontalAlignment(SwingConstants.LEFT);
certSecretKeyLabel.setHorizontalAlignment(SwingConstants.LEFT);
packConfigPanel(configPanel);
// 服务器账号配置
JPanel accountPanel = new JPanel(new BorderLayout());
accountPanel.setBorder(BorderFactory.createCompoundBorder(
new EmptyBorder(15, 0, 0, 0),
BorderFactory.createTitledBorder(
new ModLineBorder(ModLineBorder.TOP),
Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Platform_Account")
)
));
accountPanel.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
packAccountPanel(accountPanel);
// 测试链接按钮
JPanel testPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
testPanel.setBorder(BorderFactory.createEmptyBorder());
testPanel.setPreferredSize(new Dimension(437, 20));
UIButton testConnectionButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Test_Connection"));
testConnectionButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Datasource_Test_Connection"));
@ -306,14 +284,15 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
});
testPanel.add(testConnectionButton);
contentPanel.add(configPanel, BorderLayout.NORTH);
contentPanel.add(accountPanel, BorderLayout.CENTER);
contentPanel.add(packRememberPwdConfigPanel(), BorderLayout.SOUTH);
UILabel label = new UILabel();
FineUIUtils.wrapBoldLabelWithUnderline(label);
contentPanel.add(label, BorderLayout.SOUTH);
JPanel panel = FRGUIPaneFactory.createBorderLayout_S_Pane();
panel.add(contentPanel, BorderLayout.NORTH);
panel.add(FineUIUtils.wrapComponentWithTitle(contentPanel, Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Config")), BorderLayout.NORTH);
panel.add(testPanel, BorderLayout.CENTER);
panel.setPreferredSize(new Dimension(440, 600));
panel.setPreferredSize(new Dimension(FineUIScale.scale(440), (int) panel.getPreferredSize().getHeight()));
UIScrollPane scrollPane = new UIScrollPane(panel);
this.setLayout(new BorderLayout());
this.add(scrollPane);
@ -395,43 +374,42 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
private void packConfigPanel(JPanel configPanel) {
// 主机名
UILabel hostNameLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Host_IP"));
hostNameLabel.setHorizontalAlignment(SwingConstants.RIGHT);
hostNameLabel.setHorizontalAlignment(SwingConstants.LEFT);
// 端口
UILabel portLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Port"));
portLabel.setHorizontalAlignment(SwingConstants.RIGHT);
portLabel.setHorizontalAlignment(SwingConstants.LEFT);
// web应用
UILabel webAppNameLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Web_Name"));
webAppNameLabel.setHorizontalAlignment(SwingConstants.RIGHT);
webAppNameLabel.setHorizontalAlignment(SwingConstants.LEFT);
// servlet
UILabel servletNameLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Servlet_Name"));
servletNameLabel.setHorizontalAlignment(SwingConstants.RIGHT);
servletNameLabel.setHorizontalAlignment(SwingConstants.LEFT);
// 主机位置
UILabel remoteEnvURLLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_URL"));
remoteEnvURLLabel.setHorizontalAlignment(SwingConstants.RIGHT);
remoteEnvURLLabel.setHorizontalAlignment(SwingConstants.LEFT);
//远程服务器
UILabel remoteServerLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Server"));
remoteServerLabel.setHorizontalAlignment(SwingConstants.LEFT);
enableSubDocListener();
JPanel urlPanel = TableLayoutHelper.createGapTableLayoutPane(
new Component[][]{
new Component[]{hostNameLabel, hostNameInput},
new Component[]{portLabel, portInput},
new Component[]{webAppNameLabel, webAppNameInput},
new Component[]{servletNameLabel, servletNameInput},
new Component[]{remoteEnvURLLabel, remoteEnvURLInput}
new Component[]{remoteServerLabel, hostNameLabel, hostNameInput},
new Component[]{new UILabel(), portLabel, portInput},
new Component[]{new UILabel(), webAppNameLabel, webAppNameInput},
new Component[]{new UILabel(), servletNameLabel, servletNameInput},
new Component[]{new UILabel(), remoteEnvURLLabel, remoteEnvURLInput}
},
new double[]{PREFERRED, PREFERRED, PREFERRED, PREFERRED, PREFERRED},
new double[]{PREFERRED, FILL},
5,
new double[]{FIRST_COL_WIDTH, SECOND_COL_WIDTH, FILL},
14,
10
);
TableLayoutHelper.modifyTableLayoutIndexVGap(urlPanel, 0, 10);
JTextPane urlTipsPane = new JTextPane();
urlTipsPane.setEditable(false);
urlTipsPane.setText(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Server_Config_Tips"));
@ -482,7 +460,6 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
private void packHttpsConfigPanel() {
double[] rows = new double[]{PREFERRED};
boolean httpsEnabled = httpsCheckbox.isSelected();
@ -491,13 +468,13 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
}
JPanel content = TableLayoutHelper.createGapTableLayoutPane(
new Component[][]{
new Component[]{httpsCheckbox, new JPanel()},
new Component[]{certPathLabel, httpsCertFileInputPanel},
new Component[]{certSecretKeyLabel, certSecretKeyInput}
new Component[]{httpsCheckbox, new JPanel(), new UILabel()},
new Component[]{new UILabel(), certPathLabel, httpsCertFileInputPanel},
new Component[]{new UILabel(), certSecretKeyLabel, certSecretKeyInput}
},
rows,
new double[]{PREFERRED, FILL},
5,
new double[]{FIRST_COL_WIDTH, SECOND_COL_WIDTH, FILL},
14,
10
);
httpsConfigPanel.add(content, BorderLayout.CENTER);
@ -508,10 +485,13 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
// 用户名
UILabel userNameLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Account_Username"));
userNameLabel.setHorizontalAlignment(SwingConstants.RIGHT);
userNameLabel.setHorizontalAlignment(SwingConstants.LEFT);
// 密码
UILabel passwordLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remote_Env_Account_Password"));
passwordLabel.setHorizontalAlignment(SwingConstants.RIGHT);
passwordLabel.setHorizontalAlignment(SwingConstants.LEFT);
UILabel accountLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Remotex_Env_Platform_Account"));
accountLabel.setHorizontalAlignment(SwingConstants.LEFT);
//输入密码的时候检测下大写锁定
passwordInput.addMouseListener(new MouseAdapter() {
@ -527,42 +507,25 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
});
Component[][] accountComponents = new Component[][]{
new Component[]{userNameLabel, usernameInput},
new Component[]{passwordLabel, passwordInput}
new Component[]{accountLabel, userNameLabel, usernameInput},
new Component[]{new UILabel(), passwordLabel, passwordInput},
new Component[]{new UILabel(), new UILabel(), rememberPwdCheckbox}
};
JPanel content = TableLayoutHelper.createGapTableLayoutPane(accountComponents,
new double[]{PREFERRED, PREFERRED},
new double[]{PREFERRED, FILL},
5,
new double[]{PREFERRED, PREFERRED, PREFERRED},
new double[]{FIRST_COL_WIDTH, SECOND_COL_WIDTH, FILL},
14,
10
);
TableLayoutHelper.modifyTableLayoutIndexVGap(content, 0, 10);
accountPanel.add(content, BorderLayout.CENTER);
}
private JPanel packRememberPwdConfigPanel() {
JPanel panel = TableLayoutHelper.createGapTableLayoutPane(
new Component[][]{
new Component[]{rememberPwdCheckbox}
},
new double[]{PREFERRED},
new double[]{PREFERRED},
5,
10
);
TableLayoutHelper.modifyTableLayoutIndexHGap(panel, 0, 50);
return panel;
}
private JPanel createHttpsCertFileInputPanel() {
JPanel inputPanel = FRGUIPaneFactory.createRightFlowInnerContainer_S_Pane();
inputPanel.setLayout(FRGUIPaneFactory.createBorderLayout());
inputPanel.add(certPathInput, BorderLayout.CENTER);
inputPanel.add(fileChooserButton, BorderLayout.EAST);
fileChooserButton.setPreferredSize(new Dimension(20, 20));
fileChooserButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {

3
designer-base/src/main/resources/com/fine/theme/icon/toolbar/clearAll.svg

@ -1,3 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.5 6V7H5.5C5.22386 7 5 7.22386 5 7.5C5 7.77614 5.22386 8 5.5 8H6.5V18C6.5 18.5523 6.94771 19 7.5 19H16.5C17.0523 19 17.5 18.5523 17.5 18V8H18.5C18.7761 8 19 7.77614 19 7.5C19 7.22386 18.7761 7 18.5 7H15.5V6C15.5 5.44772 15.0523 5 14.5 5H9.5C8.94772 5 8.5 5.44772 8.5 6ZM14.5 6H9.5V7H14.5V6ZM7.5 18L7.5 8H16.5V18H7.5ZM9.35348 10.3536C9.54874 10.1583 9.86532 10.1583 10.0606 10.3536L12.0431 12.3361L14.0256 10.3536C14.2209 10.1583 14.5374 10.1583 14.7327 10.3536C14.928 10.5488 14.928 10.8654 14.7327 11.0607L12.7502 13.0432L14.7017 14.9947C14.897 15.1899 14.897 15.5065 14.7017 15.7018C14.5064 15.897 14.1898 15.897 13.9946 15.7018L12.0431 13.7503L10.0607 15.7327C9.8654 15.928 9.54882 15.928 9.35355 15.7327C9.15829 15.5374 9.15829 15.2209 9.35355 15.0256L11.336 13.0432L9.35348 11.0607C9.15822 10.8654 9.15822 10.5488 9.35348 10.3536Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

14
designer-base/src/main/resources/com/fine/theme/icon/toolbar/selectedAll.svg

@ -1,8 +1,8 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 7C11 6.72386 11.2239 6.5 11.5 6.5H18.5C18.7761 6.5 19 6.72386 19 7C19 7.27614 18.7761 7.5 18.5 7.5H11.5C11.2239 7.5 11 7.27614 11 7Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M11 12C11 11.7239 11.2239 11.5 11.5 11.5H18.5C18.7761 11.5 19 11.7239 19 12C19 12.2761 18.7761 12.5 18.5 12.5H11.5C11.2239 12.5 11 12.2761 11 12Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M11 17C11 16.7239 11.2239 16.5 11.5 16.5H18.5C18.7761 16.5 19 16.7239 19 17C19 17.2761 18.7761 17.5 18.5 17.5H11.5C11.2239 17.5 11 17.2761 11 17Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M6.69398 9.1364C6.60054 9.11575 6.51169 9.06909 6.43901 8.9964L5.15228 7.70968C4.94924 7.50664 4.94924 7.17744 5.15228 6.9744C5.35532 6.77136 5.68451 6.77136 5.88755 6.9744L6.81035 7.8972L9.05526 5.65228C9.2583 5.44924 9.5875 5.44924 9.79054 5.65228C9.99358 5.85532 9.99358 6.18451 9.79054 6.38755L7.18032 8.99778C7.04839 9.1297 6.86321 9.17591 6.69398 9.1364Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M6.69398 13.7865C6.60054 13.7658 6.51169 13.7191 6.43901 13.6465L5.15228 12.3597C4.94924 12.1567 4.94924 11.8275 5.15228 11.6245C5.35532 11.4214 5.68451 11.4214 5.88755 11.6245L6.81035 12.5473L9.05526 10.3023C9.2583 10.0993 9.5875 10.0993 9.79054 10.3023C9.99358 10.5054 9.99358 10.8346 9.79054 11.0376L7.18032 13.6478C7.04839 13.7798 6.86321 13.826 6.69398 13.7865Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M6.69398 18.4365C6.60054 18.4159 6.51169 18.3692 6.43901 18.2965L5.15228 17.0098C4.94924 16.8067 4.94924 16.4776 5.15228 16.2745C5.35532 16.0715 5.68451 16.0715 5.88755 16.2745L6.81035 17.1973L9.05526 14.9524C9.2583 14.7493 9.5875 14.7493 9.79054 14.9524C9.99358 15.1554 9.99358 15.4846 9.79054 15.6877L7.18032 18.2979C7.04839 18.4298 6.86321 18.476 6.69398 18.4365Z" fill="#0A1C38" fill-opacity="0.9"/>
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14 6C14 5.44772 14.4477 5 15 5H29C29.5523 5 30 5.44772 30 6C30 6.55228 29.5523 7 29 7H15C14.4477 7 14 6.55228 14 6Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M14 16C14 15.4477 14.4477 15 15 15H29C29.5523 15 30 15.4477 30 16C30 16.5523 29.5523 17 29 17H15C14.4477 17 14 16.5523 14 16Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M14 26C14 25.4477 14.4477 25 15 25H29C29.5523 25 30 25.4477 30 26C30 26.5523 29.5523 27 29 27H15C14.4477 27 14 26.5523 14 26Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M5.38797 10.2728C5.20108 10.2315 5.02338 10.1382 4.87802 9.99281L2.30456 7.41935C1.89848 7.01327 1.89848 6.35488 2.30456 5.9488C2.71064 5.54272 3.36903 5.54272 3.77511 5.9488L5.6207 7.79439L10.1105 3.30456C10.5166 2.89848 11.175 2.89848 11.5811 3.30456C11.9872 3.71064 11.9872 4.36903 11.5811 4.77511L6.36063 9.99555C6.09679 10.2594 5.72643 10.3518 5.38797 10.2728Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M5.38796 19.5729C5.20108 19.5316 5.02338 19.4383 4.87802 19.2929L2.30456 16.7195C1.89848 16.3134 1.89848 15.655 2.30456 15.2489C2.71064 14.8428 3.36903 14.8428 3.77511 15.2489L5.6207 17.0945L10.1105 12.6047C10.5166 12.1986 11.175 12.1986 11.5811 12.6047C11.9872 13.0108 11.9872 13.6691 11.5811 14.0752L6.36063 19.2957C6.09678 19.5595 5.72642 19.6519 5.38796 19.5729Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M5.38796 28.873C5.20108 28.8317 5.02338 28.7384 4.87802 28.593L2.30456 26.0196C1.89848 25.6135 1.89848 24.9551 2.30456 24.549C2.71064 24.1429 3.36903 24.1429 3.77511 24.549L5.6207 26.3946L10.1105 21.9048C10.5166 21.4987 11.175 21.4987 11.5811 21.9048C11.9872 22.3109 11.9872 22.9692 11.5811 23.3753L6.36063 28.5958C6.09678 28.8596 5.72642 28.952 5.38796 28.873Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

4
designer-base/src/main/resources/com/fine/theme/icon/toolbar/setting.svg

@ -1,4 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.261 10.6184L12 10.9047V11.2921V17.9604L10 16.7297V11.3208V10.9333L9.73896 10.647L5.50197 6L16.4719 6L12.261 10.6184ZM13 17.9604V11.2921L17.2109 6.67375C17.7963 6.03172 17.3408 5 16.4719 5H5.50197C4.63313 5 4.17763 6.03172 4.76301 6.67375L9 11.3208V16.7297C9 17.0769 9.18016 17.3993 9.4759 17.5813L11.4759 18.8121C12.1422 19.2221 13 18.7428 13 17.9604ZM15.5 12C15.2239 12 15 12.2239 15 12.5C15 12.7761 15.2239 13 15.5 13H18.5C18.7761 13 19 12.7761 19 12.5C19 12.2239 18.7761 12 18.5 12H15.5ZM15 15C15 14.7239 15.2239 14.5 15.5 14.5H18.5C18.7761 14.5 19 14.7239 19 15C19 15.2761 18.7761 15.5 18.5 15.5H15.5C15.2239 15.5 15 15.2761 15 15ZM15.5 17C15.2239 17 15 17.2239 15 17.5C15 17.7761 15.2239 18 15.5 18H18.5C18.7761 18 19 17.7761 19 17.5C19 17.2239 18.7761 17 18.5 17H15.5Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M18.1425 21C18.0158 21 17.9523 20.8468 18.042 20.7571L20.7571 18.042C20.8468 17.9523 21 18.0158 21 18.1425V20.6C21 20.8209 20.8209 21 20.6 21H18.1425Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

2
designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json

@ -250,8 +250,6 @@
"pages": "toolbar/pages.svg",
"new_line": "toolbar/newLine.svg",
"selected_all": "toolbar/selectedAll.svg",
"setting": "toolbar/setting.svg",
"clear_all": "toolbar/clearAll.svg",
"cellelement_small": "cellelement.svg",
"forbid": "expand/forbid.svg",
"horizontal_expand": "expand/horizontal.svg",

5
designer-chart/src/main/java/com/fr/design/mainframe/ChartPropertyPane.java

@ -5,6 +5,7 @@ package com.fr.design.mainframe;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.BaseUtils;
import com.fr.base.chart.BaseChartCollection;
import com.fr.chart.chartattr.ChartCollection;
@ -43,9 +44,9 @@ public class ChartPropertyPane extends BaseChartPropertyPane {
protected void initComponent() {
this.setLayout(new BorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
this.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
// 外部轮廓大小固定,适配滚动面板
this.setPreferredSize(FineUIScale.scale(new Dimension(getWidth(), 900)));
this.setPreferredSize(new Dimension(getWidth(), FineUIScale.scale(900)));
}
@Override

2
designer-realize/src/main/java/com/fr/design/actions/replace/ui/ITReplaceMainDialog.java

@ -149,7 +149,7 @@ public class ITReplaceMainDialog extends UIDialog {
replaceComboBox.setEnabled(false);
replaceComboBox.setEditable(true);
northPane.getReplaceButton().setEnabled(false);
westPanel.getLeftPanel().setPreferredSize(FineUIScale.scale(new Dimension(ITReplaceWestPanel.LEFT_WIDTH, this.getHeight())));
westPanel.getLeftPanel().setPreferredSize(new Dimension(FineUIScale.scale(ITReplaceWestPanel.LEFT_WIDTH), this.getHeight()));
((UITextField) (northPane.getFindInputCombobox().getEditor().getEditorComponent())).setPlaceholder(Toolkit.i18nText("Fine-Design_Replace_Search_Input"));
((UITextField) (northPane.getReplaceInputCombobox().getEditor().getEditorComponent())).setPlaceholder(Toolkit.i18nText("Fine-Design_Replace_Input"));
((UITextField) (northPane.getFindInputCombobox().getEditor().getEditorComponent())).addActionListener(new ActionListener() {

2
designer-realize/src/main/java/com/fr/design/condition/ForeGroundPane.java

@ -29,7 +29,7 @@ public class ForeGroundPane extends ConditionAttrSingleConditionPane<HighlightAc
super(conditionAttributesPane);
foregroundLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Foreground") + ":");
this.foregroundColorPane = new ColorSelectBox(80);
foregroundColorPane.setPreferredSize(FineUIScale.scale(new Dimension(100,foregroundColorPane.getHeight())));
foregroundColorPane.setPreferredSize(new Dimension(FineUIScale.scale(100), foregroundColorPane.getHeight()));
this.foreScopeComboBox = new UIComboBox(new String[] {
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Utils_Current_Cell"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Utils_Current_Row"),

2
designer-realize/src/main/java/com/fr/design/headerfooter/HFAttributesEditDialog.java

@ -125,7 +125,7 @@ public class HFAttributesEditDialog extends BasicPane {
UIButton formulaButton = new UIButton("...");
formulaPane.add(formulaButton);
formulaButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Formula") + "...");
formulaButton.setPreferredSize(FineUIScale.scale(new Dimension(25, formulaContentField.getPreferredSize().height)));
formulaButton.setPreferredSize(new Dimension(FineUIScale.scale(25), formulaContentField.getPreferredSize().height));
formulaButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {

2
designer-realize/src/main/java/com/fr/design/headerfooter/HeaderFooterPane.java

@ -232,7 +232,7 @@ public abstract class HeaderFooterPane extends BasicPane {
@Override
public Dimension getPreferredSize() {
return FineUIScale.scale(new Dimension(super.getPreferredSize().width, 24));
return new Dimension(super.getPreferredSize().width, FineUIScale.scale(24));
}
};

2
designer-realize/src/main/java/com/fr/design/mainframe/AuthorityToolBarPane.java

@ -137,7 +137,7 @@ public class AuthorityToolBarPane<T extends WebContent> extends BasicBeanPane<Re
this.setBorder(BorderFactory.createEmptyBorder(0, PRE_GAP, 10, 0));
title = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Toolbar_Choose_Role"));
title.setHorizontalAlignment(SwingConstants.LEFT);
title.setPreferredSize(FineUIScale.scale(new Dimension(120, title.getHeight())));
title.setPreferredSize(new Dimension(FineUIScale.scale(120), title.getHeight()));
choseComboBox = new UIComboBox(CHOOSEITEM) {
public Dimension getPreferredSize() {
Dimension dim = super.getPreferredSize();

2
designer-realize/src/main/java/com/fr/design/report/NewReportBackgroundPane.java

@ -56,7 +56,7 @@ public class NewReportBackgroundPane extends BasicPane {
private JPanel createBottomPane() {
JPanel container = new JPanel();
container.setPreferredSize(FineUIScale.scale(new Dimension(container.getPreferredSize().width, 30)));
container.setPreferredSize(new Dimension(container.getPreferredSize().width, FineUIScale.scale(30)));
container.add(isExportBackgroundCheckBox);
container.add(isPrintBackgroundCheckBox);
return container;

1
designer-realize/src/main/java/com/fr/design/report/ReportColumnsPane.java

@ -1,5 +1,6 @@
package com.fr.design.report;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.GraphHelper;
import com.fr.design.border.UIRoundedBorder;

81
designer-realize/src/main/java/com/fr/design/report/SubReportPane.java

@ -1,5 +1,9 @@
package com.fr.design.report;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.core.KV;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.FineJOptionPane;
@ -9,8 +13,6 @@ import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextarea.UITextArea;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.file.FILE;
import com.fr.file.FILEChooserPane;
import com.fr.file.FILEFactory;
@ -22,14 +24,18 @@ import com.fr.report.elementcase.ElementCase;
import com.fr.stable.StringUtils;
import com.fr.stable.project.ProjectConstants;
import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
public class SubReportPane extends BasicPane {
private UITextField pathTextField;
private FILE chooseFILE = null;
@ -41,56 +47,63 @@ public class SubReportPane extends BasicPane {
}
protected void initComponents() {
this.setLayout(FRGUIPaneFactory.createM_BorderLayout());
JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
// northPane.setLayout(FRGUIPaneFactory.createM_BorderLayout());
northPane.setBorder(GUICoreUtils.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Sub_Report_Path"),null));
northPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Location") + ":"), BorderLayout.WEST);
this.setLayout(new BorderLayout());
JPanel northPane = new JPanel(new BorderLayout(10, 0));
UILabel locationLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Location") + ":");
locationLabel.setBorder(new ScaledEmptyBorder(0, 0, 0, 10));
northPane.add(locationLabel, BorderLayout.WEST);
northPane.add(pathTextField = new UITextField(), BorderLayout.CENTER);
pathTextField.setEditable(false);
UIButton browseButton = new UIButton("...");
UIButton browseButton = initUIButton("...");
northPane.add(browseButton, BorderLayout.EAST);
browseButton.setPreferredSize(new java.awt.Dimension(20, 20));
kvPane = new ReportletParameterViewPane();
extend = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Hyperlink_Extends_Report_Parameters"));
UITextArea description = new UITextArea(2, 1);
description.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Sub_Report_Description"));
description.setEditable(false);
description.setBackground(FlatUIUtils.getUIColor("background.normal", Color.WHITE));
add(column(20,
cell(FineUIUtils.wrapComponentWithTitle(northPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Sub_Report_Path"))),
cell(FineUIUtils.wrapComponentWithTitle(column(
10,
cell(kvPane).with(it -> it.setPreferredSize(new Dimension(it.getWidth(), FineUIScale.scale(300)))),
cell(extend),
cell(FineUIUtils.wrapComponentWithTitle(description, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Attention")))
).weight(1).getComponent(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Set_Delivery_Parameter")))
).getComponent());
}
private UIButton initUIButton(String text) {
UIButton browseButton = new UIButton(text);
browseButton.setPreferredSize(FineUIScale.scale(new Dimension(48, 24)));
browseButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Click_this_button"));
addListener(browseButton);
return browseButton;
}
private void addListener(UIButton browseButton) {
browseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
FILEChooserPane fileChooser = FILEChooserPane.getInstance(true, false);
int chooseResult = fileChooser.showOpenDialog(SubReportPane.this);
if(chooseResult == FILEChooserPane.OK_OPTION ||chooseResult == FILEChooserPane.JOPTIONPANE_OK_OPTION ) {
chooseFILE = fileChooser.getSelectedFILE();
if (chooseFILE != null && chooseFILE.exists()) {
pathTextField.setText(chooseFILE.prefix() + chooseFILE.getPath());
} else {
FineJOptionPane.showConfirmDialog(SubReportPane.this, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Sub_Report_Message1"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Sub_Report_ToolTips"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);
chooseFILE = null;
chooseFILE = null;
pathTextField.setText("");
}
}
}
}
});
this.add(northPane, BorderLayout.NORTH);
JPanel centerPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
this.add(centerPane, BorderLayout.CENTER);
centerPane.setLayout(FRGUIPaneFactory.createM_BorderLayout());
centerPane.setBorder(BorderFactory.createEmptyBorder(0, 5, 10, 5));
kvPane = new ReportletParameterViewPane();
centerPane.setBorder(GUICoreUtils.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Set_Delivery_Parameter"),null));
JPanel kcPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
kcPane.add(kvPane);
extend = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Hyperlink_Extends_Report_Parameters"));
kcPane.add(extend, BorderLayout.SOUTH);
centerPane.add(kcPane, BorderLayout.CENTER);
UITextArea description = new UITextArea(2, 1);
centerPane.add(description, BorderLayout.SOUTH);
description.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Sub_Report_Description"));
description.setEditable(false);
description.setBorder(GUICoreUtils.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Attention"), null));
}
}
@Override
protected String title4PopupWindow() {
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Insert_Sub_Report");

2
designer-realize/src/main/java/com/fr/design/webattr/EditToolBar.java

@ -753,7 +753,7 @@ public class EditToolBar extends BasicPane {
super.setSelectedIndex(newSelectedIndex, fireChanged);
}
};
bgColorButtonGroup.setPreferredSize(FineUIScale.scale(new Dimension(135, bgColorButtonGroup.getPreferredSize().height)));
bgColorButtonGroup.setPreferredSize(new Dimension(FineUIScale.scale(135), bgColorButtonGroup.getPreferredSize().height));
return row(10, cell(headLabel).weight(0.15), cell(bgColorButtonGroup).weight(0.3), flex(0.55)).getComponent();
}
}

Loading…
Cancel
Save