Browse Source

Merge pull request #107 in DESIGN/design from ~ZACK/design:feature/10.0 to feature/10.0

* commit 'f7cf0dc38a58c2972aa1cf90269b613b01f5bf01':
  REPORT-8515 设计器启动优化,独立线程打开模板
master
superman 6 years ago
parent
commit
b0ae4f6bb7
  1. 29
      designer-base/src/com/fr/design/mainframe/DesignerFrame.java
  2. 28
      designer-base/src/com/fr/start/BaseDesigner.java

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

@ -55,9 +55,23 @@ import com.fr.stable.StableUtils;
import com.fr.stable.image4j.codec.ico.ICODecoder;
import com.fr.stable.project.ProjectConstants;
import javax.swing.*;
import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import javax.swing.border.MatteBorder;
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.dnd.DnDConstants;
@ -124,9 +138,6 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
private WindowAdapter windowAdapter = new WindowAdapter() {
public void windowOpened(WindowEvent e) {
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setComposite();
reCalculateFrameSize();
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().doResize();
}
@ -259,6 +270,14 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
}
}
});
this.addDesignerOpenedListener(new DesignerOpenedListener() {
@Override
public void designerOpened() {
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setComposite();
reCalculateFrameSize();
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().doResize();
}
});
this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
this.setVisible(false);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);

28
designer-base/src/com/fr/start/BaseDesigner.java

@ -23,11 +23,13 @@ import com.fr.log.FineLoggerFactory;
import com.fr.module.ModuleEvent;
import com.fr.stable.OperatingSystem;
import java.awt.*;
import java.awt.Window;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.lang.reflect.Method;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* The main class of Report Designer.
@ -51,14 +53,21 @@ public abstract class BaseDesigner extends ToolBarMenuDock {
DesignerEnvManager.loadLogSetting();
createDesignerFrame();
}
public void show(String[] args) {
collectUserInformation();
showDesignerFrame(args, DesignerContext.getDesignerFrame(), false);
for (int i = 0; !TemplateTreePane.getInstance().getTemplateFileTree().isTemplateShowing() && i < LOAD_TREE_MAXNUM; i++) {
TemplateTreePane.getInstance().getTemplateFileTree().refresh();
}
public void show(final String[] args) {
ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.submit(new Runnable() {
@Override
public void run() {
collectUserInformation();
showDesignerFrame(args, DesignerContext.getDesignerFrame(), false);
for (int i = 0; !TemplateTreePane.getInstance().getTemplateFileTree().isTemplateShowing() && i < LOAD_TREE_MAXNUM; i++) {
TemplateTreePane.getInstance().getTemplateFileTree().refresh();
}
}
});
executorService.shutdown();
DesignerContext.getDesignerFrame().setVisible(true);
}
@ -134,7 +143,6 @@ public abstract class BaseDesigner extends ToolBarMenuDock {
df.getSelectedJTemplate().requestGridFocus();
}
});
df.setVisible(true);
return isException;
}

Loading…
Cancel
Save