From 2a79bb30daf5633d856f0c7b2cf4afd591e2bb61 Mon Sep 17 00:00:00 2001 From: vito Date: Fri, 16 Dec 2016 09:59:49 +0800 Subject: [PATCH 1/3] =?UTF-8?q?REPORT-1220=20=E4=BF=AE=E5=A4=8D=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E7=95=8C=E9=9D=A2=E7=9A=84=E5=9B=BE=E8=A1=A8=E5=92=8C?= =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E6=82=AC=E6=B5=AE=E9=9D=A2=E6=9D=BF=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=85=B6=E4=BB=96=E4=BD=8D=E7=BD=AE=E4=B8=8D=E6=B6=88?= =?UTF-8?q?=E5=A4=B1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/FormParaWidgetPane.java | 297 +++++++++--------- 1 file changed, 147 insertions(+), 150 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java index cb111bb92..3423c54cd 100644 --- a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java +++ b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java @@ -18,7 +18,6 @@ import com.fr.form.ui.*; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.stable.ArrayUtils; -import com.fr.stable.OperatingSystem; import javax.swing.*; import java.awt.*; @@ -27,14 +26,14 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -public class FormParaWidgetPane extends JPanel{ - private static FormParaWidgetPane THIS; - private List predifinedwidgeList = new ArrayList(); +public class FormParaWidgetPane extends JPanel { + private static FormParaWidgetPane THIS; + private List predifinedwidgeList = new ArrayList(); private JWindow chartTypeWindow; private JWindow widgetTypeWindow; private WidgetOption[] widgetOptions = null; - private WidgetOption[] chartOptions = null; + private WidgetOption[] chartOptions = null; private WidgetOption[] layoutOptions = null; private int widgetButtonWidth = 22; private int widgetButtonHeight = 20; @@ -53,42 +52,42 @@ public class FormParaWidgetPane extends JPanel{ private JSeparator jSeparatorChart; private JSeparator jSeparatorLayout; - private UILabel paraLabel ; - - private FormDesigner designer; - - public static final FormParaWidgetPane getInstance(FormDesigner designer) { - if(THIS == null) { - THIS = new FormParaWidgetPane(); - } - THIS.designer = designer; - THIS.setTarget(designer); - return THIS; - } - - public FormParaWidgetPane() { - setLayout(new FlowLayout(FlowLayout.LEFT)); + private UILabel paraLabel; + + private FormDesigner designer; + + public static final FormParaWidgetPane getInstance(FormDesigner designer) { + if (THIS == null) { + THIS = new FormParaWidgetPane(); + } + THIS.designer = designer; + THIS.setTarget(designer); + return THIS; + } + + public FormParaWidgetPane() { + setLayout(new FlowLayout(FlowLayout.LEFT)); DesignerContext.getDesignerFrame().getCenterTemplateCardPane().addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { - if (FormParaWidgetPane.this.getParent() != null) { - JPanel fother = (JPanel)FormParaWidgetPane.this.getParent(); + if (FormParaWidgetPane.this.getParent() != null) { + JPanel fother = (JPanel) FormParaWidgetPane.this.getParent(); int delta_wdith = 0; - for (int i = 0; i < fother.getComponentCount() - 1; i ++) { + for (int i = 0; i < fother.getComponentCount() - 1; i++) { delta_wdith += fother.getComponent(i).getWidth(); } - - if(delta_wdith == 0){ - return; + + if (delta_wdith == 0) { + return; } - + Dimension d = fother.getSize(); - setPreferredSize(new Dimension(d.width - delta_wdith, d.height)); - LayoutUtils.layoutContainer(fother); - } + setPreferredSize(new Dimension(d.width - delta_wdith, d.height)); + LayoutUtils.layoutContainer(fother); + } } }); initFormParaComponent(); - } + } private void initFormParaComponent() { @@ -97,16 +96,16 @@ public class FormParaWidgetPane extends JPanel{ JPanel paraPane = new JPanel(new FlowLayout()); ToolBarButton paraButton = new paraButton(FormWidgetOption.PARAMETERCONTAINER); paraPane.add(paraButton); - add(createNormalCombinationPane(paraPane,Inter.getLocText("FR-Designer_Parameter"))); + add(createNormalCombinationPane(paraPane, Inter.getLocText("FR-Designer_Parameter"))); jSeparatorPara = createJSeparator(); add(jSeparatorPara); - + JPanel layoutPane = new JPanel(new FlowLayout()); - for(WidgetOption option : loadLayoutOptions()){ + for (WidgetOption option : loadLayoutOptions()) { layoutPane.add(new ToolBarButton(option)); } layoutPane.add(new ToolBarButton(FormWidgetOption.ELEMENTCASE)); - add(createNormalCombinationPane(layoutPane,Inter.getLocText("FR-Designer_Layout_Block_Blank"))); + add(createNormalCombinationPane(layoutPane, Inter.getLocText("FR-Designer_Layout_Block_Blank"))); jSeparatorLayout = createJSeparator(); add(jSeparatorLayout); @@ -114,8 +113,8 @@ public class FormParaWidgetPane extends JPanel{ int totalChartNums = loadChartOptions().length; if (totalChartNums > 0) { JPanel chartTypePane = new JPanel(new FlowLayout()); - for (int i = 0;i < commonChartNum ;i++) { - chartTypePane.add( new ToolBarButton(loadChartOptions()[i])); + for (int i = 0; i < commonChartNum; i++) { + chartTypePane.add(new ToolBarButton(loadChartOptions()[i])); } add(createChartCombinationPane(chartTypePane, Inter.getLocText("FR-Designer-Form-ToolBar_Chart"))); jSeparatorChart = createJSeparator(); @@ -123,115 +122,115 @@ public class FormParaWidgetPane extends JPanel{ } JPanel widgetPane = new JPanel(new FlowLayout()); - for (int i = 0;i < commonWidgetNum;i++) { + for (int i = 0; i < commonWidgetNum; i++) { widgetPane.add(new ToolBarButton(loadWidgetOptions()[i])); } widgetPane.add(createJSeparator(20)); loadPredefinedWidget(); - int num = Math.min(predifinedwidgeList.size(),preWidgetShowMaxNum); - for (int i = 0 ;i < num ;i++) { + int num = Math.min(predifinedwidgeList.size(), preWidgetShowMaxNum); + for (int i = 0; i < num; i++) { widgetPane.add(new ToolBarButton(predifinedwidgeList.get(i))); } add(createWidgetCombinationPane(widgetPane, Inter.getLocText("FR-Designer-Form-ToolBar_Widget"))); add(createJSeparator()); } - - private void loadPredefinedWidget() { - predifinedwidgeList.clear(); - if(designer != null) { - WidgetOption[] designerPre = designer.getDesignerMode().getPredefinedWidgetOptions(); - for(int i = 0; i < designerPre.length; i++) { - predifinedwidgeList.add(designerPre[i]); - } - } - WidgetManagerProvider mgr = WidgetManager.getProviderInstance(); - Iterator nameIt = mgr.getWidgetConfigNameIterator(); - while (nameIt.hasNext()) { - String name = nameIt.next(); - WidgetConfig widgetConfig = mgr.getWidgetConfig(name); - if (widgetConfig instanceof UserDefinedWidgetConfig) { - Widget widget = ((UserDefinedWidgetConfig) widgetConfig).getWidget(); - String widgetClassName = widget.getClass().getName(); - if (isButtonWidget(widgetClassName)) { - // ... - continue; - } - if (!XCreatorUtils.createXCreator(widget).canEnterIntoParaPane()){ + + private void loadPredefinedWidget() { + predifinedwidgeList.clear(); + if (designer != null) { + WidgetOption[] designerPre = designer.getDesignerMode().getPredefinedWidgetOptions(); + for (int i = 0; i < designerPre.length; i++) { + predifinedwidgeList.add(designerPre[i]); + } + } + WidgetManagerProvider mgr = WidgetManager.getProviderInstance(); + Iterator nameIt = mgr.getWidgetConfigNameIterator(); + while (nameIt.hasNext()) { + String name = nameIt.next(); + WidgetConfig widgetConfig = mgr.getWidgetConfig(name); + if (widgetConfig instanceof UserDefinedWidgetConfig) { + Widget widget = ((UserDefinedWidgetConfig) widgetConfig).getWidget(); + String widgetClassName = widget.getClass().getName(); + if (isButtonWidget(widgetClassName)) { + // ... + continue; + } + if (!XCreatorUtils.createXCreator(widget).canEnterIntoParaPane()) { //预定义控件工具栏这儿不显示工具栏中没有的预定义控件 continue; } - predifinedwidgeList.add(new UserDefinedWidgetOption(name)); - } - } - } + predifinedwidgeList.add(new UserDefinedWidgetOption(name)); + } + } + } private boolean isButtonWidget(String widgetClassName) { return widgetClassName.endsWith("DeleteRowButton") || widgetClassName.endsWith("AppendRowButton") || widgetClassName.endsWith("TreeNodeToogleButton"); } - private void setTarget(FormDesigner designer) { - if (designer == null) { - return; - } + private void setTarget(FormDesigner designer) { + if (designer == null) { + return; + } initFormParaComponent(); - } + } - private JPanel createNormalCombinationPane(JComponent jComponent,String typeName){ - JPanel reportPane = new JPanel(new BorderLayout(17,5)); - reportPane.add(jComponent,BorderLayout.CENTER); + private JPanel createNormalCombinationPane(JComponent jComponent, String typeName) { + JPanel reportPane = new JPanel(new BorderLayout(17, 5)); + reportPane.add(jComponent, BorderLayout.CENTER); JPanel labelPane = new JPanel(new BorderLayout()); - UILabel label = new UILabel(typeName,UILabel.CENTER); - if(ComparatorUtils.equals(Inter.getLocText("FR-Designer_Parameter"),typeName )){ + UILabel label = new UILabel(typeName, UILabel.CENTER); + if (ComparatorUtils.equals(Inter.getLocText("FR-Designer_Parameter"), typeName)) { paraLabel = label; } - labelPane.add(label,BorderLayout.CENTER); - reportPane.add(labelPane,BorderLayout.SOUTH); - reportPane.setPreferredSize(new Dimension((int)reportPane.getPreferredSize().getWidth(),(int)reportPane.getPreferredSize().getHeight())); + labelPane.add(label, BorderLayout.CENTER); + reportPane.add(labelPane, BorderLayout.SOUTH); + reportPane.setPreferredSize(new Dimension((int) reportPane.getPreferredSize().getWidth(), (int) reportPane.getPreferredSize().getHeight())); return reportPane; } - private JPanel createChartCombinationPane(JComponent jComponent,String typeName){ - JPanel chartPane = new JPanel(new BorderLayout(17,5)); + private JPanel createChartCombinationPane(JComponent jComponent, String typeName) { + JPanel chartPane = new JPanel(new BorderLayout(17, 5)); chartPane.add(jComponent, BorderLayout.CENTER); JPanel labelPane = new JPanel(new BorderLayout()); - labelPane.add(new UILabel(typeName,UILabel.CENTER),BorderLayout.CENTER); + labelPane.add(new UILabel(typeName, UILabel.CENTER), BorderLayout.CENTER); UIButton chartPopUpButton = createPopUpButton(); chartPopUpButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if(chartTypeWindow == null) { + if (chartTypeWindow == null) { JPanel componentsPara = new JPanel(new FlowLayout(FlowLayout.LEFT)); WidgetOption[] chartOptions = loadChartOptions(); for (WidgetOption chartOption : chartOptions) { - componentsPara.add( new ToolBarButton(chartOption)); + componentsPara.add(new ToolBarButton(chartOption)); } int x = commonChartNum * (widgetButtonWidth + smallGAP); - int y = (int)Math.ceil(chartOptions.length/((double)commonChartNum)) * (widgetButtonHeight + smallGAP); - componentsPara.setPreferredSize(new Dimension(x,y)); + int y = (int) Math.ceil(chartOptions.length / ((double) commonChartNum)) * (widgetButtonHeight + smallGAP); + componentsPara.setPreferredSize(new Dimension(x, y)); chartTypeWindow = new PopUpWindow(componentsPara, Inter.getLocText("FR-Designer-Form-ToolBar_Chart")); - chartTypeWindow.setLocation((int)jSeparatorLayout.getLocationOnScreen().getX() + 1, (int)jSeparatorLayout.getLocationOnScreen().getY()); + chartTypeWindow.setLocation((int) jSeparatorLayout.getLocationOnScreen().getX() + 1, (int) jSeparatorLayout.getLocationOnScreen().getY()); chartTypeWindow.setSize(chartTypeWindow.getPreferredSize()); } chartTypeWindow.setVisible(true); } }); - labelPane.add(chartPopUpButton,BorderLayout.EAST); - chartPane.add(labelPane,BorderLayout.SOUTH); + labelPane.add(chartPopUpButton, BorderLayout.EAST); + chartPane.add(labelPane, BorderLayout.SOUTH); return chartPane; } - private JPanel createWidgetCombinationPane(JComponent jComponent,String typeName){ - JPanel widgetPane = new JPanel(new BorderLayout(17,5)); - widgetPane.add(jComponent,BorderLayout.CENTER); + private JPanel createWidgetCombinationPane(JComponent jComponent, String typeName) { + JPanel widgetPane = new JPanel(new BorderLayout(17, 5)); + widgetPane.add(jComponent, BorderLayout.CENTER); JPanel labelPane = new JPanel(new BorderLayout()); - labelPane.add(new UILabel(typeName,UILabel.CENTER),BorderLayout.CENTER); + labelPane.add(new UILabel(typeName, UILabel.CENTER), BorderLayout.CENTER); UIButton chartPopUpButton = createPopUpButton(); chartPopUpButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - JPanel widgetPane = new JPanel(new FlowLayout(FlowLayout.LEFT,0,0)); + JPanel widgetPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0)); loadPredefinedWidget(); int rowNum = calculateWidgetWindowRowNum(); JPanel westPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); @@ -239,27 +238,27 @@ public class FormParaWidgetPane extends JPanel{ westPanel.add(new ToolBarButton(o)); } int x = commonWidgetNum * (widgetButtonWidth + smallGAP); - westPanel.setPreferredSize(new Dimension(x,(int)(rowNum * westPanel.getPreferredSize().getHeight()))); + westPanel.setPreferredSize(new Dimension(x, (int) (rowNum * westPanel.getPreferredSize().getHeight()))); JPanel eastPane = new JPanel(new FlowLayout(FlowLayout.LEFT)); for (WidgetOption no : predifinedwidgeList) { eastPane.add(new ToolBarButton(no)); } int maxWidth = preWidgetShowMaxNum * (widgetButtonWidth + smallGAP); - int width = predifinedwidgeList.size() >= preWidgetShowMaxNum ? maxWidth:(int)eastPane.getPreferredSize().getWidth(); - eastPane.setPreferredSize(new Dimension(width,(int)(rowNum*eastPane.getPreferredSize().getHeight()))); + int width = predifinedwidgeList.size() >= preWidgetShowMaxNum ? maxWidth : (int) eastPane.getPreferredSize().getWidth(); + eastPane.setPreferredSize(new Dimension(width, (int) (rowNum * eastPane.getPreferredSize().getHeight()))); UIScrollPane eastScrollPane = new UIScrollPane(eastPane); eastScrollPane.setBorder(null); int maxHeight = preWidgetShowMaxRow * (widgetButtonHeight + smallGAP); - int height = predifinedwidgeList.size() >= preWidgetShowMaxNum * preWidgetShowMaxRow ? maxHeight : (int)eastPane.getPreferredSize().getHeight(); - width = predifinedwidgeList.size() >= preWidgetShowMaxNum * preWidgetShowMaxRow ? (int)eastPane.getPreferredSize().getWidth() + smallGAP + jsparatorWidth : (int)eastPane.getPreferredSize().getWidth(); - eastScrollPane.setPreferredSize(new Dimension(width,height)); + int height = predifinedwidgeList.size() >= preWidgetShowMaxNum * preWidgetShowMaxRow ? maxHeight : (int) eastPane.getPreferredSize().getHeight(); + width = predifinedwidgeList.size() >= preWidgetShowMaxNum * preWidgetShowMaxRow ? (int) eastPane.getPreferredSize().getWidth() + smallGAP + jsparatorWidth : (int) eastPane.getPreferredSize().getWidth(); + eastScrollPane.setPreferredSize(new Dimension(width, height)); widgetPane.add(westPanel); widgetPane.add(createJSeparator(height)); widgetPane.add(eastScrollPane); - widgetTypeWindow = new PopUpWindow( widgetPane, Inter.getLocText("FR-Designer-Form-ToolBar_Widget")); + widgetTypeWindow = new PopUpWindow(widgetPane, Inter.getLocText("FR-Designer-Form-ToolBar_Widget")); widgetTypeWindow.setSize(widgetTypeWindow.getPreferredSize()); if (jSeparatorChart != null) { widgetTypeWindow.setLocation((int) jSeparatorChart.getLocationOnScreen().getX() + 1, (int) jSeparatorChart.getLocationOnScreen().getY()); @@ -268,59 +267,60 @@ public class FormParaWidgetPane extends JPanel{ } }); - labelPane.add(chartPopUpButton,BorderLayout.EAST); - widgetPane.add(labelPane,BorderLayout.SOUTH); + labelPane.add(chartPopUpButton, BorderLayout.EAST); + widgetPane.add(labelPane, BorderLayout.SOUTH); return widgetPane; } - private int calculateWidgetWindowRowNum(){ + private int calculateWidgetWindowRowNum() { //向上取整 - int rowNum = (int)Math.ceil((double)predifinedwidgeList.size()/(double)preWidgetShowMaxNum); - rowNum = Math.max(rowNum,2); - rowNum = Math.min(rowNum,preWidgetShowMaxRow); + int rowNum = (int) Math.ceil((double) predifinedwidgeList.size() / (double) preWidgetShowMaxNum); + rowNum = Math.max(rowNum, 2); + rowNum = Math.min(rowNum, preWidgetShowMaxRow); return rowNum; } - private JSeparator createJSeparator(){ - JSeparator jSeparator = new JSeparator(SwingConstants.VERTICAL ); - jSeparator.setPreferredSize(new Dimension(jsparatorWidth,jsparatorHeight)); - return jSeparator; + private JSeparator createJSeparator() { + JSeparator jSeparator = new JSeparator(SwingConstants.VERTICAL); + jSeparator.setPreferredSize(new Dimension(jsparatorWidth, jsparatorHeight)); + return jSeparator; } - private JSeparator createJSeparator(double height){ - JSeparator jSeparator = new JSeparator(SwingConstants.VERTICAL ); - jSeparator.setPreferredSize(new Dimension(jsparatorWidth,(int)height)); - return jSeparator; + private JSeparator createJSeparator(double height) { + JSeparator jSeparator = new JSeparator(SwingConstants.VERTICAL); + jSeparator.setPreferredSize(new Dimension(jsparatorWidth, (int) height)); + return jSeparator; } - private UIButton createPopUpButton(){ + private UIButton createPopUpButton() { UIButton popUpButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/buttonicon/arrowdown.png")); popUpButton.set4ToolbarButton(); return popUpButton; } - private UIButton createPopDownButton(){ + private UIButton createPopDownButton() { UIButton popUpButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/buttonicon/arrowup.png")); popUpButton.set4ToolbarButton(); return popUpButton; } - private class paraButton extends ToolBarButton{ - public paraButton(WidgetOption no){ + private class paraButton extends ToolBarButton { + public paraButton(WidgetOption no) { super(no); this.setDisabledIcon(BaseUtils.readIcon("/com/fr/web/images/form/resources/layout_parameter2.png")); - if(designer != null){ + if (designer != null) { this.setEnabled(designer.getParaComponent() == null); } } + public void mouseDragged(MouseEvent e) { - if (designer.getParaComponent() != null){ - return; + if (designer.getParaComponent() != null) { + return; } designer.addParaComponent(); - JPanel pane =FormWidgetDetailPane.getInstance(designer); + JPanel pane = FormWidgetDetailPane.getInstance(designer); EastRegionContainerPane.getInstance().replaceDownPane(pane); this.setEnabled(false); @@ -334,7 +334,7 @@ public class FormParaWidgetPane extends JPanel{ public void setEnabled(boolean b) { super.setEnabled(b); - paraLabel.setForeground(b ? Color.BLACK : new Color(198,198,198)); + paraLabel.setForeground(b ? Color.BLACK : new Color(198, 198, 198)); } } @@ -347,8 +347,9 @@ public class FormParaWidgetPane extends JPanel{ } /** - * 响应界面改变事件 - * @param evt 事件 + * 响应界面改变事件 + * + * @param evt 事件 */ public void fireCreatorModified(DesignerEvent evt) { button.setEnabled(designer.getParaComponent() == null); @@ -356,14 +357,13 @@ public class FormParaWidgetPane extends JPanel{ } - private class PopUpWindow extends JWindow { private JPanel northPane; private String typeName; private int LineWidth = 5; private int BarWidth = 10; - public PopUpWindow(JPanel northPane,String typeName){ + public PopUpWindow(JPanel northPane, String typeName) { super(); this.northPane = northPane; this.typeName = typeName; @@ -376,17 +376,14 @@ public class FormParaWidgetPane extends JPanel{ public void eventDispatched(AWTEvent event) { if (event instanceof MouseEvent) { MouseEvent mv = (MouseEvent) event; - Point point = mv.getLocationOnScreen(); - double endX = PopUpWindow.this.getX() + northPane.getWidth() + LineWidth; - double startX = endX - BarWidth; - double startY = PopUpWindow.this.getY() + northPane.getY(); - double endY = startY + northPane.getHeight(); - boolean dragBar = startX < point.getX() && endX > point.getX() && endY > point.getY(); - if (!dragBar && mv.getClickCount() > 0 && mv.getID() != MouseEvent.MOUSE_RELEASED) { - if(!ComparatorUtils.equals(mv.getSource(), PopUpWindow.this)) { - if (!OperatingSystem.isMacOS()) { - PopUpWindow.this.setVisible(false); - } + if (mv.getClickCount() > 0) { + Point point = new Point((int) (mv.getLocationOnScreen().getX()), (int) mv.getLocationOnScreen().getY()); + // 直接contains在mac下,点击内部也会消失 + Dimension d = PopUpWindow.this.getSize(); + Point p = PopUpWindow.this.getLocation(); + Rectangle rect = new Rectangle(p, d); + if (!rect.contains(point)) { + PopUpWindow.this.setVisible(false); } } } @@ -398,9 +395,9 @@ public class FormParaWidgetPane extends JPanel{ JPanel rootPane = new EditorChoosePane(); JPanel contentPane = new JPanel(); contentPane.setLayout(new BorderLayout(17, 0)); - contentPane.add(northPane,BorderLayout.CENTER); + contentPane.add(northPane, BorderLayout.CENTER); JPanel labelPane = new JPanel(new BorderLayout()); - labelPane.add(new UILabel(typeName,UILabel.CENTER),BorderLayout.CENTER); + labelPane.add(new UILabel(typeName, UILabel.CENTER), BorderLayout.CENTER); JButton popUpButton = createPopDownButton(); popUpButton.addMouseListener(new MouseAdapter() { @Override @@ -409,8 +406,8 @@ public class FormParaWidgetPane extends JPanel{ } }); labelPane.add(popUpButton, BorderLayout.EAST); - contentPane.add(labelPane,BorderLayout.SOUTH); - rootPane.add(contentPane,BorderLayout.CENTER); + contentPane.add(labelPane, BorderLayout.SOUTH); + rootPane.add(contentPane, BorderLayout.CENTER); return rootPane; } @@ -421,31 +418,31 @@ public class FormParaWidgetPane extends JPanel{ private class EditorChoosePane extends JPanel { public EditorChoosePane() { super(); - ((FlowLayout)this.getLayout()).setVgap(1); + ((FlowLayout) this.getLayout()).setVgap(1); } @Override public void paintComponent(Graphics g) { Rectangle r = this.getBounds(); g.setColor(UIConstants.NORMAL_BACKGROUND); - g.fillRoundRect(r.x, r.y, r.width, r.height,0,0); + g.fillRoundRect(r.x, r.y, r.width, r.height, 0, 0); g.setColor(UIConstants.LINE_COLOR); - g.drawLine(r.x, r.y, r.x, r.y+r.height); - g.drawLine(r.x, r.y+r.height-1, r.x+r.width-1, r.y+r.height-1); - g.drawLine(r.x+r.width-1, r.y, r.x+r.width-1, r.y+r.height-1); + g.drawLine(r.x, r.y, r.x, r.y + r.height); + g.drawLine(r.x, r.y + r.height - 1, r.x + r.width - 1, r.y + r.height - 1); + g.drawLine(r.x + r.width - 1, r.y, r.x + r.width - 1, r.y + r.height - 1); } } private WidgetOption[] loadWidgetOptions() { if (widgetOptions == null) { - widgetOptions = (WidgetOption[])ArrayUtils.addAll(WidgetOption.getFormWidgetIntance(), ExtraDesignClassManager.getInstance().getFormWidgetOptions()); + widgetOptions = (WidgetOption[]) ArrayUtils.addAll(WidgetOption.getFormWidgetIntance(), ExtraDesignClassManager.getInstance().getFormWidgetOptions()); } return widgetOptions; } private WidgetOption[] loadLayoutOptions() { if (layoutOptions == null) { - layoutOptions = (WidgetOption[])ArrayUtils.addAll(FormWidgetOption.getFormLayoutInstance(), ExtraDesignClassManager.getInstance().getFormWidgetContainerOptions()); + layoutOptions = (WidgetOption[]) ArrayUtils.addAll(FormWidgetOption.getFormLayoutInstance(), ExtraDesignClassManager.getInstance().getFormWidgetContainerOptions()); } return layoutOptions; } From 51c7715dc123f523f4ba1822d96ff1262018960c Mon Sep 17 00:00:00 2001 From: vito Date: Fri, 16 Dec 2016 10:02:14 +0800 Subject: [PATCH 2/3] pmd --- .../src/com/fr/design/mainframe/FormParaWidgetPane.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java index 3423c54cd..58db063bc 100644 --- a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java +++ b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java @@ -45,7 +45,7 @@ public class FormParaWidgetPane extends JPanel { //预定义控件最多显示20行 private int preWidgetShowMaxRow = 20; //显示8个图表组件 - private static final int commonChartNum = 8; + private static final int COMMON_CHAR_NUM = 8; //显示10个普通控件 private int commonWidgetNum = 10; private JSeparator jSeparatorPara; @@ -113,7 +113,7 @@ public class FormParaWidgetPane extends JPanel { int totalChartNums = loadChartOptions().length; if (totalChartNums > 0) { JPanel chartTypePane = new JPanel(new FlowLayout()); - for (int i = 0; i < commonChartNum; i++) { + for (int i = 0; i < COMMON_CHAR_NUM; i++) { chartTypePane.add(new ToolBarButton(loadChartOptions()[i])); } add(createChartCombinationPane(chartTypePane, Inter.getLocText("FR-Designer-Form-ToolBar_Chart"))); @@ -206,8 +206,8 @@ public class FormParaWidgetPane extends JPanel { for (WidgetOption chartOption : chartOptions) { componentsPara.add(new ToolBarButton(chartOption)); } - int x = commonChartNum * (widgetButtonWidth + smallGAP); - int y = (int) Math.ceil(chartOptions.length / ((double) commonChartNum)) * (widgetButtonHeight + smallGAP); + int x = COMMON_CHAR_NUM * (widgetButtonWidth + smallGAP); + int y = (int) Math.ceil(chartOptions.length / ((double) COMMON_CHAR_NUM)) * (widgetButtonHeight + smallGAP); componentsPara.setPreferredSize(new Dimension(x, y)); chartTypeWindow = new PopUpWindow(componentsPara, Inter.getLocText("FR-Designer-Form-ToolBar_Chart")); chartTypeWindow.setLocation((int) jSeparatorLayout.getLocationOnScreen().getX() + 1, (int) jSeparatorLayout.getLocationOnScreen().getY()); From 96f01dc0b733ad07d973d921d26824730bffc573 Mon Sep 17 00:00:00 2001 From: vito Date: Fri, 16 Dec 2016 10:18:02 +0800 Subject: [PATCH 3/3] =?UTF-8?q?REPORT-1222=20-=20=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=9B=BE=E8=A1=A8=E6=B5=AE=E5=8A=A8=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E4=B8=8D=E9=9A=8F=E4=B8=BB=E7=AA=97=E5=8F=A3=E5=8F=98?= =?UTF-8?q?=E5=8C=96=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/FormParaWidgetPane.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java index 58db063bc..6187bbd48 100644 --- a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java +++ b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java @@ -200,19 +200,17 @@ public class FormParaWidgetPane extends JPanel { chartPopUpButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if (chartTypeWindow == null) { - JPanel componentsPara = new JPanel(new FlowLayout(FlowLayout.LEFT)); - WidgetOption[] chartOptions = loadChartOptions(); - for (WidgetOption chartOption : chartOptions) { - componentsPara.add(new ToolBarButton(chartOption)); - } - int x = COMMON_CHAR_NUM * (widgetButtonWidth + smallGAP); - int y = (int) Math.ceil(chartOptions.length / ((double) COMMON_CHAR_NUM)) * (widgetButtonHeight + smallGAP); - componentsPara.setPreferredSize(new Dimension(x, y)); - chartTypeWindow = new PopUpWindow(componentsPara, Inter.getLocText("FR-Designer-Form-ToolBar_Chart")); - chartTypeWindow.setLocation((int) jSeparatorLayout.getLocationOnScreen().getX() + 1, (int) jSeparatorLayout.getLocationOnScreen().getY()); - chartTypeWindow.setSize(chartTypeWindow.getPreferredSize()); + JPanel componentsPara = new JPanel(new FlowLayout(FlowLayout.LEFT)); + WidgetOption[] chartOptions = loadChartOptions(); + for (WidgetOption chartOption : chartOptions) { + componentsPara.add(new ToolBarButton(chartOption)); } + int x = COMMON_CHAR_NUM * (widgetButtonWidth + smallGAP); + int y = (int) Math.ceil(chartOptions.length / ((double) COMMON_CHAR_NUM)) * (widgetButtonHeight + smallGAP); + componentsPara.setPreferredSize(new Dimension(x, y)); + chartTypeWindow = new PopUpWindow(componentsPara, Inter.getLocText("FR-Designer-Form-ToolBar_Chart")); + chartTypeWindow.setLocation((int) jSeparatorLayout.getLocationOnScreen().getX() + 1, (int) jSeparatorLayout.getLocationOnScreen().getY()); + chartTypeWindow.setSize(chartTypeWindow.getPreferredSize()); chartTypeWindow.setVisible(true); } });