mainframe.java
来自「导出ORACLE数据库对象DDL语句的程序」· Java 代码 · 共 663 行 · 第 1/2 页
JAVA
663 行
/**
* 退出
*
* @param e
*/
public void jMenuFileExit_actionPerformed(ActionEvent e) {
System.exit(0);
}
/**
* 弹出about对话框
*
* @param e
*/
public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
MainFrameAboutBox dlg = new MainFrameAboutBox(this);
Dimension dlgSize = dlg.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x,
(frmSize.height - dlgSize.height) / 2 + loc.y);
dlg.setModal(true);
dlg.pack();
dlg.show();
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
close();
jMenuFileExit_actionPerformed(null);
}
if (e.getID() == WindowEvent.WINDOW_CLOSED) {
close();
jMenuFileExit_actionPerformed(null);
}
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == m_run)
jpvbutton.repaint();
}
/**
* 把窗体上添加监听器的操作集中起来
*/
private void addListner() {
jMenuFileExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuFileExit_actionPerformed(e);
}
});
jMenuHelpAbout.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuHelpAbout_actionPerformed(e);
}
});
btnRefresh.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
refreshButtonCall();
}
});
this.btnHelp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(false);
CompareFrame frame = CompareFrame.getInstance();
}
});
}
/**
* 窗口关闭时必须调用的事件
*/
public void close(){
Logger.log(Logger.DEBUG_INT,"主窗口退出,调用退出方法,对某些进程作清理。");
for (int i = 0; i < this.jsp.getViewport().getComponentCount(); i++) {
RightPanel view = (RightPanel) this.jsp.getViewport().getComponent(i);
view.close();
}
}
/**
* 调用的右面板的刷新事件
*/
public void refreshButtonCall(){
Logger.log(Logger.INFO,"refreshButtonCall");
if(this.selectedTreeView.getSelectedNode()!=null)
this.selectedTreeView.selectedNodeRefresh();
}
/**
* @return Returns the jsp.
*/
public JScrollPane getJsp() {
return jsp;
}
public static void main(String[] args){
//设置字体
Font font = new Font("宋体", 0, 13);
String names[] =
{"Label",
"CheckBox",
"PopupMenu",
"TextPane",
"MenuItem",
"CheckBoxMenuItem",
"JRadioButtonMenuItem",
"ComboBox",
"Button",
"JButton",
"Tree",
"ScrollPane",
"TabbedPane",
"EditorPane",
"TitledBorder",
"Menu",
"TextArea",
"OptionPane",
"JOptionPane",
"MenuBar",
"ToolBar",
"ToggleButton",
"ToolTip",
"ProgressBar",
"TableHeader",
"Panel",
"List",
"ColorChooser",
"PasswordField",
"JTextField",
"Table",
"JLabel",
"Viewport",
"RadioButtonMenuItem",
"JTextField",
"JOptionPane",
"RadioButton" };
for (int i = 0; i < names.length; i++)
UIManager.put(names[i] + ".font", font);
MainFrame mainFrame=MainFrame.getInstance();
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = mainFrame.getSize();
// if (frameSize.height > screenSize.height) {
// frameSize.height = screenSize.height;
// }
// if (frameSize.width > screenSize.width) {
// frameSize.width = screenSize.width;
// }
mainFrame.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
instance.setExtendedState(Frame.MAXIMIZED_BOTH);
mainFrame.setResizable(true);
mainFrame.setVisible(true);
mainFrame.show();
mainFrame.LoadDBFromInitfile();
}
/**
* read initial file and add databases to manager
*
*/
public void LoadDBFromInitfile(){
//从配置文件中读取数据库信息,删除XMLDatabase对象
//manager.clear();
this.selectedTreeView.managerClear();
ConfigFile file=new ConfigFile(GlobalParameters.ddlDBConfig);
Object[] sections = file.getAllSection();
for(int i = 0;i < sections.length;i++){
if(file.hasSection(sections[i].toString())){
FileDb filedb = file.getFileDb(sections[i].toString());
// Logger.log(Logger.DEBUG,"在树添加数据库节点:"+filedb.getDbName());
XMLDatabase db=null;
try {
db=new XMLDatabase(filedb.getIP(),Integer.parseInt(filedb.getPort()),filedb.getDbName(),filedb.getUserName(),filedb.getPassword());
addDatabase(db);
} catch (Exception e) {
Logger.log(Logger.ERROR,e.getMessage());
//e.printStackTrace();
}
}else{
continue;
}
}
}
/**
* Returns the tree.
* @return JPVTree
public JPVTree getTree() {
return this.treeView.getTree();
}
*/
/**
* contruct JPVTree
* */
private void constructTree(){
XMLManager manager= new XMLManager();
treeView = new MyTree(manager,manager.getTree(),this);
this.selectedTreeView=treeView;
//manager.addChild(db);
//treeView.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
//treeView.setViewportBorder(BorderFactory.createEtchedBorder());
}
/**
* contruct JPVTree
* */
public void addDatabase(XMLDatabase db) throws Exception{
//db.setPlatform();
//db.setVersion();
/**
manager.addChild(db);
this.selectedTreeView.getTree().addNode(db.getPVNode());
**/
this.selectedTreeView.addDatabase(db);
}
public void removeDatabase(PVNode db){
//XMLManager manager= XMLManager.getInstance();
/**
XMLDatabase xmldb=(XMLDatabase)db.getUserObject();
manager.removeChild(xmldb);
this.selectedTreeView.getTree().removeNode(db);
**/
this.selectedTreeView.removeDatabase(db);
}
/**
* Returns the treeView.
* @return JPVTreeView
*/
public MyTree getSelectedTree() {
return selectedTreeView;
}
/**
* Sets the statusInfo.
* @param statusInfo The statusInfo to set
*/
public void setStatusInfo(String statusInfo) {
this.statusInfo.setText(statusInfo);
}
//如果节点的信息改变,则把右侧面板上的内容移去
public void removeRightPanel(){
for (int i = 0; i < getJsp().getViewport()
.getComponentCount(); i++) {
RightPanel view = (RightPanel) getJsp()
.getViewport().getComponent(i);
view.close();
}
}
//为Frame添加新的面板
public void addRightPanel(RightPanel RPchoice){
getJsp().getViewport().removeAll();
//remove previous ui panel
//this just switches between 3 different Vectors
//and passes the one you select to the Builder pattern
Logger.log(Logger.INFO_INT, "selectedNode:"+ this.selectedTreeView.getSelectedNode());
setStatusInfo("Current selected node is: "+((XMLNode)this.selectedTreeView.getSelectedNode().getUserObject()).getName());
//get one of the UIs
getJsp().getViewport().add(RPchoice.getJPanel());
//insert in right panel
getJsp().getViewport().validate(); //re-layout and display
getJsp().getViewport().repaint();
}
public void selectedNodeRefresh(){
this.treeView.selectedNodeRefresh();
}
public void selectedNodeExport(){
this.treeView.selectedNodeExport();
}
/**
* Returns the expFile.
* @return File
*/
public File getExpFile() {
return expFile;
}
/**
* Sets the expFile.
* @param expFile The expFile to set
*/
public void setExpFile(File expFile) {
this.expFile = expFile;
}
public void setSelectedTree(MyTree tree){
this.selectedTreeView=tree;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?