📄 mainframe.java
字号:
I18n.addOnLanguageChangedListener( this );
if (sp!=null) sp.updateLoadingStatus(60,"Loading fonts");
this.ttfFonts = FontListLoader.loadTTFFonts();
if (ttfFonts == null) ttfFonts = new Vector();
System.setProperty("org.xml.sax.driver","org.apache.xerces.parsers.SAXParser");
if (sp!=null) sp.updateLoadingStatus(75,"Configuring GUI components");
//jMDIDesktopPane.addInternalFrameActivatedListener(this);
this.setTitle(constTitle+ " - (c) 2002-2004 by Giulio Toffoli");
toolBarControls = new java.util.Vector();
elementPropertiesDialog = new ElementPropertiesDialog(this,false);
elementPropertiesDialog.updateFonts(ttfFonts);
valuesDialog = new ValuesDialog(this,false);
groupsDialog = new GroupsDialog(this,false);
bandsDialog = new BandsDialog(this,false);
fontsDialog = new FontsDialog(this,false);
reportQueryDialog = new ReportQueryDialog(this,false);
localeFilesDialog = new LocaleResourceFilesDialog(this,false);
eventsForm = new EventsForm();
jNumberComboBoxZoom.addValueChangedListener(new ValueChangedListener() {
public void valueChanged(ValueChangedEvent evt) {
jNumberComboBoxZoomValueChanged(evt);
}
});
//user pressed enter
jNumberComboBoxZoom.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//simulate focus lost to force zoom update
jNumberComboBoxZoom.focusLost(new FocusEvent(MainFrame.this, FocusEvent.COMPONENT_SHOWN));
}
});
jMDIDesktopPane.addInternalFrameActivatedListener(new InternalFrameActivatedListener() {
public void internalFrameActivated( InternalFrameActivatedEvent evt) {
jMDIDesktopPaneInternalFrameActivated(evt);
}
});
toolBarControls.addElement( this.jButtonNew);
toolBarControls.addElement( this.jButtonOpen);
toolBarControls.addElement( this.jButtonSave);
toolBarControls.addElement( null);
toolBarControls.addElement( this.jButtonCut);
toolBarControls.addElement( this.jButtonCopy);
toolBarControls.addElement( this.jButtonPaste);
toolBarControls.addElement( null);
toolBarControls.addElement( this.jToggleButtonPointer);
toolBarControls.addElement( this.jToggleButtonLineTool);
toolBarControls.addElement( this.jToggleButtonRectTool);
toolBarControls.addElement( this.jToggleButtonRectRoundTool);
toolBarControls.addElement( this.jToggleButtonEllipseTool);
toolBarControls.addElement( this.jToggleButtonImageTool);
toolBarControls.addElement( this.jToggleButtonStaticTextTool);
toolBarControls.addElement( this.jToggleButtonTextFieldTool);
toolBarControls.addElement( this.jToggleButtonSubreportTool);
toolBarControls.addElement( this.jToggleButtonChartTool);
toolBarControls.addElement( this.jToggleButtonBarcodeTool);
toolBarControls.addElement( null);
toolBarControls.addElement( this.jButtonParameters);
toolBarControls.addElement( this.jButtonGroups);
toolBarControls.addElement( this.jButtonBands);
toolBarControls.addElement( this.jButtonDatabase);
toolBarControls.addElement( null);
toolBarControls.addElement( this.jPanelZoom);
toolBarControls.addElement( null);
toolBarControls.addElement( this.jButtonCompiler);
toolBarControls.addElement(this.jButtonRun1);
toolBarControls.addElement(this.jButtonRun2);
toolBarControls.addElement( null);
//toolBarControls.addElement(this.jButtonAlignLeft);
//toolBarControls.addElement(this.jButtonAlignCenter);
//toolBarControls.addElement(this.jButtonAlignRight);
//toolBarControls.addElement(this.jButtonAlignJustify);
jNumberComboBoxZoom.addEntry("50%",50);
jNumberComboBoxZoom.addEntry("75%",75);
jNumberComboBoxZoom.addEntry("100%",100);
jNumberComboBoxZoom.addEntry("150%",150);
jNumberComboBoxZoom.addEntry("200%",200);
jNumberComboBoxZoom.addEntry("400%",400);
jNumberComboBoxZoom.addEntry("800%",800);
jNumberComboBoxZoom.addEntry("Width",100);
jNumberComboBoxZoom.addEntry("Height",100);
jNumberComboBoxZoom.addEntry("Whole page",100);
//jNumberComboBoxZoom.addEntry("Fit to page",100); // deactivate since July 16 2004
//java.awt.Dimension dim = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
//this.setSize(dim);
if (sp!=null) sp.updateLoadingStatus(80,"Loading available font family names");
String[] fontFamilies = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
for (int i=0; i<fontFamilies.length; ++i)
{
jComboBoxFont.addItem(fontFamilies[i]);
if (fontFamilies[i].equals("Arial"))
{
jComboBoxFont.setSelectedIndex(i);
}
}
jNumberComboBoxSize.addEntry("3",3);
jNumberComboBoxSize.addEntry("5",5);
jNumberComboBoxSize.addEntry("8",8);
jNumberComboBoxSize.addEntry("10",10);
jNumberComboBoxSize.addEntry("12",12);
jNumberComboBoxSize.addEntry("14",14);
jNumberComboBoxSize.addEntry("18",18);
jNumberComboBoxSize.addEntry("24",24);
jNumberComboBoxSize.addEntry("36",36);
jNumberComboBoxSize.addEntry("48",48);
jNumberComboBoxSize.setSelectedIndex(5);
DefaultTreeSelectionModel dtsm = (DefaultTreeSelectionModel)jTreeDocument.getSelectionModel();
dtsm.setSelectionMode( DefaultTreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION );
jPanelToolBarComponentResized(new java.awt.event.ComponentEvent(jPanelToolBar,0));
// This try is of java <1.4 comatibility
try {
this.setExtendedState(MAXIMIZED_BOTH);
} catch (java.lang.NoSuchMethodError ex){
/* do nothing */
}
java.awt.Image def = Misc.loadImageFromResources("it/businesslogic/ireport/icons/layout/img.gif");
try {
java.awt.MediaTracker mt = new java.awt.MediaTracker( new javax.swing.JPanel() );
mt.addImage(def,0);
mt.waitForID(0);
} catch (Exception ex) {
/* Do nothing */
}
ImageReportElement.setImgDef(def);
//jNumberComboBoxZoom.setPostfix("%");
javax.swing.tree.DefaultMutableTreeNode root = new javax.swing.tree.DefaultMutableTreeNode("Opened files");
javax.swing.tree.DefaultMutableTreeNode rootDoc = new javax.swing.tree.DefaultMutableTreeNode("Document");
javax.swing.tree.DefaultTreeModel model = new javax.swing.tree.DefaultTreeModel(root);
javax.swing.tree.DefaultTreeModel modelDoc = new javax.swing.tree.DefaultTreeModel(rootDoc);
javax.swing.ToolTipManager.sharedInstance().registerComponent(jTreeFiles);
jTreeFiles.setModel( model );
jTreeFiles.setCellRenderer( new ProjectExplorerTreeCellRenderer());
jTreeDocument.setModel( modelDoc );
jTreeDocument.setCellRenderer( new DocumentStructureTreeCellRenderer());
libraryPanel = new LibraryPanel();
jTabbedPaneExplorer.addTab("Library",libraryPanel);
if (sp!=null) sp.updateLoadingStatus(85,"Loading file lists");
loadFileLists();
updateRecentFileMenu(jMenuRecentFiles, getRecentFilesList() );
updateRecentProjectMenu(jMenuRecentProjects, getRecentProjectsList());
//IRCompilerDocument doc = new IRCompilerDocument();
//this.jEditorPaneOutput.setDocument(doc );
this.jEditorPaneOutput.setContentType("text/html");
this.jEditorPaneOutput.addHyperlinkListener( new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent e) {
if (e.getEventType() == javax.swing.event.HyperlinkEvent.EventType.ACTIVATED) {
if (!parseError(e.getURL()))
JOptionPane.showMessageDialog(MainFrame.this," HyperlinkEvent " + e.getURL() );
}
}
});
jMenuItemUndo.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK));
jMenuItemRedo.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_Y, KeyEvent.CTRL_DOWN_MASK));
jCheckBoxMenuItemEMM.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_M, KeyEvent.CTRL_DOWN_MASK));
jMenuItemCut.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK));
jMenuItemCopy.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_DOWN_MASK));
jMenuItemPaste.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK));
clipboards = new Vector[5];
for (int i=0; i<5; ++i) {
clipboards[i] = new Vector();
}
styleClipboards = new it.businesslogic.ireport.ReportElement[5];
for (int i=0; i<5; ++i) {
styleClipboards[i] = null;
}
this.setReportViewer(this.getReportViewer());
this.disableSaveAllSpecific();
this.disableSaveSpecific();
logOnConsole("iReport home ( " + ( (!args.containsKey("ireport-home")) ? "ireport.home system property" : "from command line") + "): "+this.IREPORT_HOME_DIR + "\n");
logOnConsole("User home ( " + ( (!args.containsKey("user-home")) ? "user.home system property" : "from command line") + "): " + this.IREPORT_USER_HOME_DIR + "\n");
logOnConsole("iReport default compile directory: " + this.getDefaultCompilationDirectory()+"\n");
logOnConsole("iReport user home directory (iReport compiles here if there are no settings or " +
"the user hasn't selected to compile to the report directory): " + IREPORT_DEFAULT_HOME_DIR + "\n");
if (sp!=null) sp.updateLoadingStatus(90,"Loading plugins");
loadPlugins(IREPORT_HOME_DIR + File.separator + "plugins" );
jToolBarText.setVisible( getProperties().getProperty("toolbarTextVisible","false").equalsIgnoreCase("true") );
jToolBarFormat.setVisible( getProperties().getProperty("toolbarFormattingVisible","false").equalsIgnoreCase("true") );
jCheckBoxMenuItemElementsFormatting.setSelected( getProperties().getProperty("toolbarFormattingVisible","false").equalsIgnoreCase("true") );
jCheckBoxMenuItemTextFormatting.setSelected( getProperties().getProperty("toolbarTextVisible","false").equalsIgnoreCase("true") );
it.businesslogic.ireport.util.I18n.setCurrentLocale( properties.getProperty("Language"), properties.getProperty("Country") );
if (sp!=null) sp.updateLoadingStatus(95,"Opening files");
if (args.containsKey("files")) {
Iterator iter = ((Collection)args.get("files")).iterator();
while (iter.hasNext()) {
try {
File f = (File)iter.next();
if (sp!=null) sp.updateLoadingStatus(98,"Opening " + f.getName());
Report report = new Report(f.getPath());
openNewReportWindow( report );
} catch (Exception ex) { }
}
}
if (sp!=null) sp.setVisible(false);
}
/**
* Retrive the first unused mane like untitled_report_XXX
*/
public String getFirstNameFree() {
JInternalFrame[] frames = jMDIDesktopPane.getAllFrames();
for (int k=1; ; k++) {
String name = "untitled_report_" + k;
boolean found = false;
for (int i=0; i<frames.length ; ++i) {
if (frames[i] instanceof JReportFrame) {
JReportFrame jrf = (JReportFrame)frames[i];
if (jrf.getReport().getName().equalsIgnoreCase(name)) {
found = true;
break;
}
}
}
if (!found) {
return name;
}
}
}
public void setFileListActivatedFrame(JReportFrame jrf) {
// remove the frame from the documnets list....
DefaultTreeModel dtm = (DefaultTreeModel)jTreeFiles.getModel();
Enumeration opened_entries = ((DefaultMutableTreeNode)dtm.getRoot()).children();
while (opened_entries.hasMoreElements()) {
DefaultMutableTreeNode documentEntryNode = (DefaultMutableTreeNode)opened_entries.nextElement();
if (documentEntryNode.getUserObject() instanceof DocumentTreeEntry) {
DocumentTreeEntry dte = (DocumentTreeEntry)documentEntryNode.getUserObject();
if (dte.getJrf() == jrf) {
jTreeFiles.setSelectionPath(new TreePath(new Object[]
{dtm.getRoot(), documentEntryNode}));
jTreeFiles.updateUI();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -