⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframe.java

📁 iReport-0.4.1-src是iReport的源代码,iReport是一个开源的报表项目,可以生成PDF等格式报表
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        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 + -