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

📄 mainframe.java

📁 TestDataBuilder是一个采用Java编写的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
	public boolean exists(String filePath){
		return new File(filePath).exists();
	}
	
    public void initWorkspace() {
        this.getJMenuBar().setHasWorkspace(this.getWorkspace() != null);
        this.getJTDBToolBar().setHasWorkspace(this.getWorkspace() != null);
        
        if(this.getWorkspace() != null && !Global.isValidWorkspace(this.getWorkspace())){
            JOptionPane.showMessageDialog(this, String.format(RM.R("label.MainFrame.project.invalid"),
                            new Object[]{this.getWorkspace()})); //$NON-NLS-1$ //$NON-NLS-2$
            G.saveLastWorkspace(null);
            RecentProjects.getInstance().removeProjectByPathAndSave(this.getWorkspace());
            G.setWorkspace(null);
        }
        
		if (StringUtils.isEmpty(this.getWorkspace())) {
			try {
				WorkspaceDataCache.getInstance().init(null);
			} catch (BaseException e) {
				logger.error("initWorkspace", e);
			}
			this.setTitle(this.initTitle);
			this.bindToTree(null);
            this.treeSelectChanged(null);            
		} else {
			try {
				if (G.P.getAutoConnWhenProgramStartup()) {
                    initWorkspaceFromDB();
				} else {
                    initWorkspaceFromLocalFile();
				}				
			} catch (Exception e) {
				logger.error("initWorkspaceFromDB or local file", e); //$NON-NLS-1$
				JOptionPane.showMessageDialog(this, RM.R("label.MainFrame.error.initApp") //$NON-NLS-1$
						+ e.getMessage());
				this.getJLeftTree().setModel(null);
                this.treeSelectChanged(null);
                this.getJMenuBar().setHasWorkspace(false);
			}
		}
	}
    
    public void initWorkspaceFromDB() throws BaseException{
        initWorkspaceDataCache();
        this.refreshDataFromDB();
        this.setTitle(this.getWorkspace() + "[" //$NON-NLS-1$
                        + this.workspaceDataCache.getTestDataConfig().getName()
                        + "]"); //$NON-NLS-1$
    }
    
    public void initWorkspaceFromLocalFile() throws BaseException{
        initWorkspaceDataCache();
        try {
            DatabaseUtil dbUtil = new DatabaseUtil();
            dbUtil.setBasePath(this.getWorkspace());
            Database database = dbUtil.readDBInfoFromBasePath();
            bindToTree(database);
        } catch (IOException e) {
            logger.error("initWorkspaceFromLocalFile", e); //$NON-NLS-1$
            JOptionPane.showMessageDialog(this, RM.R("label.MainFrame.error.readLocalConfigFile") //$NON-NLS-1$
                    + e.getMessage());
            bindToTree(null);
        }
        this.setTitle(this.getWorkspace() + "[" //$NON-NLS-1$
                        + this.workspaceDataCache.getTestDataConfig().getName()
                        + "]"); //$NON-NLS-1$
    }
    
    protected void initWorkspaceDataCache() throws BaseException{
        this.workspaceDataCache.init(this.getWorkspace());
    }
    
    public void refreshDataFromDB() {
        DatabaseUtil dbUtil = new DatabaseUtil();
        dbUtil.setBasePath(this.getWorkspace());
        resetRefValues();
        
        dbUtil.setConfig(this.getTestDataConfig().getDefDatabaseConfig());
        
        Database database  = null; 
        try {
        	dbUtil.connect();
            database = dbUtil.getDefArchitecture(DatabaseUtil.LEVEL_COLUMN);
            if(G.P.getSaveDbMetaInfo() && database != null){
                dbUtil.writeDBInfo(database);
            }
        } catch (Exception ex) {
           logger.error("MianFrame", ex); //$NON-NLS-1$
           JOptionPane.showMessageDialog(this, RM.R("label.MainFrame.error.connectDatabase") + ex.getMessage()); //$NON-NLS-1$
           if(G.P.getReadDBInfoFromFileWhenConnError()){
            try {
                database = dbUtil.readDBInfoFromBasePath();
            } catch (IOException e) {
                logger.error("MianFrame", e); //$NON-NLS-1$
                JOptionPane.showMessageDialog(this, RM.R("label.MainFrame.error.connectDatabase") + e.getMessage()); //$NON-NLS-1$
            }                   
           }
        }
        bindToTree(database);        
    }

    /**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(new BorderLayout());
			jContentPane.add(getJTDBToolBar(), BorderLayout.NORTH);
			jContentPane.add(getJSplitPane(), BorderLayout.CENTER);
            jContentPane.add(getMsgLine(), BorderLayout.SOUTH); 
		}
		return jContentPane;
	}

    private JTDBToolBar getJTDBToolBar(){
        if(this.tdbToolBar == null){
            tdbToolBar = new JTDBToolBar(this);
        }
        return tdbToolBar;
    }
    
    public JLabel getMsgLine(){
        if(msgLine == null){
            msgLine = new JLabel(" ");             //$NON-NLS-1$
        }
        return msgLine;
    }
    
	public String getWorkspace() { 
		return G.getWorkspace();
	}

	
//	public Table curSelTable = null;  //  @jve:decl-index=0:

	private JTDButton btnSave = null;

    private JTDButton btnClose = null;

	private JTabbedPane jTabbedPane = null;

    public Table getCurSelTable() {
    	if(this.getDatabase()!= null){
    		return this.getDatabase().getSelTable();
    	}
    	return null;
	}

	public TableConfig getCurTableConfig(){
		TableConfig curTableConfig = null;
		Table curSelTable =this.getCurSelTable(); 
    	if(curSelTable != null){
    		curTableConfig = this.getWorkspaceDataCache().getTableConfigFromList(curSelTable.getTableName());
    	}
    	return curTableConfig;
	}

	public void setCurSelTable(Table selTable) {
		if(this.getDatabase() != null){
			this.getDatabase().setSelTable(selTable);
		}
	}
    
    public void setCurSelDatabaseConfig(DatabaseConfig curSelDatabaseConfig){
        this.getJLeftTree().setCurSelDatabaseConfig(curSelDatabaseConfig);
    }
    
    public DatabaseConfig getCurSelDatabaseConfig(){
        return this.getJLeftTree().getCurSelDatabaseConfig();
    }
    
    //菜单[工具栏]事件
     public void openProject() {
        JFileChooser directoryChooser = new JProjectDirChooser(G.getInstance().P.getWorkspace());        
        directoryChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        if (directoryChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
            String dirPath = directoryChooser.getSelectedFile().getAbsolutePath();
            openProject(dirPath);                    
        }
    }

    public void openProjectInExplorer(){
        if(StringUtils.isNotEmpty(this.getWorkspace())){
//            String OSName = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
//            if(OSName.contains("windows")){ //$NON-NLS-1$
//                try {
//                    Runtime.getRuntime().exec("explorer.exe " + this.getWorkspace()); //$NON-NLS-1$
//                } catch (IOException e) {
//                   JOptionPane.showMessageDialog(this, String.format(RM.R("label.MainFrame.error.openProject"),
//                                   new Object[]{this.getWorkspace(), e.getMessage()}));
//                }
//            }else{
//                
//            }
            OpenWorkspaceUtil.openWorkspaceInExplorer(this.getWorkspace(), this);
        }
    }
    
    public void openProject(String projectPath){        
    	setWorkspaceAndUpdateConfig(projectPath);
        this.initWorkspace();
    }

    public void setWorkspaceAndUpdateConfig(String workspace){
    	G.setWorkspaceLastWorkspace(workspace);
    	int sep_index = workspace.lastIndexOf(Global.SEP);
        
        String projectName = workspace.substring(sep_index + 1);
        RecentProjects.getInstance().addProject2RecentList(projectName, workspace);
    }
    
    public void closeProject(){
        int result = JOptionPane.showConfirmDialog(this, RM.R("label.MainFrame.closeProjectConfirm")); //$NON-NLS-1$
        if(result == JOptionPane.OK_OPTION){            
        	G.setWorkspace(null);
        	this.initWorkspace();
        }
    }

    public void createProject(){
        ProjectDialog projectDialog = new ProjectDialog(this);
        projectDialog.setModal(true);
        projectDialog.setVisible(true);
        if(projectDialog.isOK()){
            this.setWorkspaceAndUpdateConfig(projectDialog.getProjectPath());
            
            try {
                initWorkspaceDataCache();
                this.configDBAndInitWorkspace(TestDataConfig.DEFAULT,true);
                this.getJMenuBar().setHasWorkspace(this.getWorkspace() != null);
                this.getJTDBToolBar().setHasWorkspace(this.getWorkspace() != null);
            } catch (Exception ex) {
                logger.error("MainFrame", ex); //$NON-NLS-1$
                JOptionPane.showMessageDialog(this, RM.R("label.MainFrame.error.connectDatabase") + ex.getMessage()); //$NON-NLS-1$
            } 
        }
    }

    GenerateDataDialog genDialog = null;

    private JTDButton btnClearColumnConfig = null;

    private DataModelPanel dataModelPanel = null;
    
    GenerateDataDialog getGenerateDataDialog() throws BaseException{
        if(genDialog != null && genDialog.isRunInBackground()){
            genDialog.setIsRunInBackground(false);
            return genDialog;
        }else {
            if(genDialog != null){
                genDialog.dispose();
            }
            this.getWorkspaceDataCache().setSortedTableNames(this.getDatabase().getSortedTableNames());
            
            genDialog = new GenerateDataDialog(this,this.getWorkspaceDataCache());
            genDialog.setModal(true);
        }
        return genDialog;
    }
    
    public void showGeneateDateDialog(){
        try{
            getGenerateDataDialog().setVisible(true);
        }catch(BaseException ex){
            JOptionPane.showMessageDialog(this, RM.R("label.MainFrame.error.e") + ex.getMessage()); //$NON-NLS-1$
        }
    }
    
    public void showAboutDialog(){
        AboutDialog aboutDialog = new AboutDialog(this);
        aboutDialog.setModal(true);
        aboutDialog.setVisible(true);
    }
    
    public void showQueryConsole(){
        this.getJTabbedPane().setSelectedIndex(1);
    }
    
    public void showDataExchangerWindow(){
        JOptionPane.showMessageDialog(this, RM.R("label.MainFrame.unImplementFunction"));        
    }
    
    public void showDataModelView(){
        JOptionPane.showMessageDialog(this, RM.R("label.MainFrame.unImplementFunction")); //$NON-NLS-1$
    }
    
    public void showPreferenceDialog(){
        PreferenceDialog preferenceDialog = new PreferenceDialog(this, G.P);
        preferenceDialog.setModal(true);
        preferenceDialog.setWorkspace(this.getWorkspace());
        preferenceDialog.setVisible(true);
    }

    public void showSysPropertyDialog(){
        AppPropertyDialog appPropertyDialog = new AppPropertyDialog(this,G.getAppProperties());
        appPropertyDialog.setModal(true);
        appPropertyDialog.setVisible(true);
    }
    
    public void showHelp(){
        
    }
    
    public void showUpgradeDialog(){
        UpgradeDialog upgradeDialog = new UpgradeDialog(this);
        upgradeDialog.setVisible(true);
    }
    
    public void showRoleWindow(){
        if(this.getCurSelTable() != null){
        	showRoleDialogAndSelPath(this.getCurSelTable().getTableName());
        }else{       
        	showRoleDialogAndSelPath();
        }
    }
	
	public void showRoleDialogAndSelPath(Object ... selPath){
		RoleDialog roleDialog =  new RoleDialog(this,this.getWorkspaceDataCache());
		if(selPath != null){
			roleDialog.setSelectPath(selPath);
		}
		roleDialog.setModal(true);
        roleDialog.setVisible(true);
        
		resetRefValues();
	}
	
    public WorkspaceDataCache getWorkspaceDataCache() {
        return workspaceDataCache;
    }
    
    public void setWorkspaceDataCache(WorkspaceDataCache workspaceDataCache) {
        this.workspaceDataCache = workspaceDataCache;
    }

    /**
     * This method initializes btnDelAll	
     * 	
     * @return com.testDataBuilder.ui.core.JTDButton	
     */
    private JTDButton getBtnClearColumnConfig() {
        if (btnClearColumnConfig == null) {
            btnClearColumnConfig = new JTDButton();
            btnClearColumnConfig.setBounds(new Rectangle(15, 337, 61, 23));
            btnClearColumnConfig.setText(RM.R("label.MainFrame.clearAll")); //$NON-NLS-1$
            btnClearColumnConfig.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    MainFrame.this.delAllColumnConfig();
                }
            });
        }
        return btnClearColumnConfig;
    }

    protected void delAllColumnConfig() {
        if(this.getColumnTable().getData() != null 
                        && this.getColumnTable().getData().size() > 0){
            if(JOptionPane.showConfirmDialog(this, RM.R("label.MainFrame.clearAll.confirm")) == JOptionPane.OK_OPTION){ //$NON-NLS-1$
                this.getColumnTable().setData(null);
            }
        }
    }

    /**
     * This method initializes dataModelPanel	
     * 	
     * @return com.testDataBuilder.ui.main.dataModel.DataModelPanel	
     */
    private DataModelPanel getDataModelPanel() {
        if (dataModelPanel == null) {
            dataModelPanel = new DataModelPanel();
        }
        return dataModelPanel;
    }
}  //  @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -