📄 mainframe.java
字号:
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 + -