txtarea1_panel.java
来自「导出ORACLE数据库对象DDL语句的程序」· Java 代码 · 共 265 行
JAVA
265 行
package com.icbcsdc.ddlexp.ui.rightPanel;
import java.awt.BorderLayout;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.Border;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLFunction;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLPackage;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLPackageBody;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLProcedure;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLTabColComment;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLTabComment;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLTrigger;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLView;
import com.icbcsdc.ddlexp.ui.TreeFrame;
import com.icbcsdc.ddlexp.ui.model.NoEditTextArea;
/**
*
* 右边窗口内容显示
*
*适用对象:
*用于显示视图View、触发器Trigger、函数Function、程序包Package、程序包体Package Body、存储过程Procedure的详细内容
*
*/
public class TxtArea1_Panel extends RightPanel {
private BorderLayout borderLayout = new BorderLayout();
private JLabel labelTitle =new JLabel();
private JLabel labelName =new JLabel();
private JLabel labelOwner =new JLabel();
private JLabel labelText =new JLabel();
private NoEditTextArea textareaName =new NoEditTextArea();
private NoEditTextArea textareaOwner =new NoEditTextArea();
private NoEditTextArea textareaText =new NoEditTextArea();
private JScrollPane jScrollPane = new JScrollPane();
private Border border;
private JPanel contentPane = new JPanel();
private String title = "";
private String showName = "";
private String showOwner = "";
private String showText = "";
private String name = "";
private String owner = "";
private String text = "";
public TxtArea1_Panel(TreeFrame parent,XMLNode in_node) {
super(parent,in_node);
switch(in_node.getType()){
case(XMLNode.XML_VIEW):
/*索引*/
XMLView view = (XMLView)in_node;
title = "View";
showName = "View Name:";
showOwner = "View Owner:";
showText = "DDL SQL:";
name = view.getName();
owner = view.getParent().getParent().getName();
text = view.getText();
//view.getSqlDDL();
break;
case(XMLNode.XML_TRIGGER):
/*触发器*/
XMLTrigger trigger = (XMLTrigger)in_node;
title = "Trigger";
showName = "Trigger Name:";
showOwner = "Trigger Owner:";
showText = "Trigger Body:";
name = trigger.getName();
owner = trigger.getParent().getParent().getParent().getParent().getName();
text = trigger.getTriggerBody();
//trigger.getSqlDDL();
break;
case(XMLNode.XML_FUNCTION):
/*函数*/
XMLFunction function = (XMLFunction)in_node;
title = "Function";
showName = "Function Name:";
showOwner = "Function Owner:";
showText = "Function Body:";
name = function.getName();
owner = function.getParent().getParent().getParent().getName();
if(function.isWrapped())
text = "由于代码已被封装,无法显示源代码。";
else
text = function.getText();
//function.getSqlDDL();
break;
case(XMLNode.XML_PACKAGE):
/*程序包*/
XMLPackage package0 = (XMLPackage)in_node;
title = "Package";
showName = "Package Name:";
showOwner = "Package Owner:";
showText = "Package Body:";
name = package0.getName();
owner = package0.getParent().getParent().getParent().getName();
if(package0.isWrapped())
text = "由于代码已被封装,无法显示源代码。";
else
text = package0.getText();
//package0.getSqlDDL();
break;
case(XMLNode.XML_PACKAGEBODY):
/*程序包*/
XMLPackageBody packagebody = (XMLPackageBody)in_node;
title = "Package Body";
showName = "PackageBody Name:";
showOwner = "PackageBody Owner:";
showText = "Package Body:";
name = packagebody.getName();
owner = packagebody.getParent().getParent().getParent().getName();
if(packagebody.isWrapped())
text = "由于代码已被封装,无法显示源代码。";
else
text = packagebody.getText();
//packagebody.getSqlDDL();
break;
case(XMLNode.XML_PROCEDURE):
/*存储过程*/
XMLProcedure procedure = (XMLProcedure)in_node;
title = "Procedure";
showName = "Procedure Name:";
showOwner = "Procedure Owner:";
showText = "Procedure Body:";
name = procedure.getName();
owner = procedure.getParent().getParent().getParent().getName();
if(procedure.isWrapped())
text = "由于代码已被封装,无法显示源代码。";
else
text = procedure.getText();
//procedure.getSqlDDL();
break;
case(XMLNode.XML_TABCOMMENT):
/*表的注释*/
XMLTabComment comment = (XMLTabComment)in_node;
title = "Table Comment";
showName = "Table Name:";
showOwner = "Table Owner";
showText = "Table Comment:";
name = in_node.getTable().getName();
owner = in_node.getTable().getSchema().getName();
text = comment.getComment();
break;
case(XMLNode.XML_TABCOLCOMMENT):
/*表列的注释*/
XMLTabColComment colComment = (XMLTabColComment)in_node;
title = "Table Column Comment";
showName = "Table Name:";
showOwner = "Column Name:";
showText = "Column Comment:";
name = in_node.getTable().getName();
owner = in_node.getParent().getName();
text = colComment.getComment();
break;
default:
break;
}
try {
jbInit();
}catch(Exception ex) {
ex.printStackTrace();
}
}
void jbInit() throws Exception {
contentPane.setLayout(null);
labelTitle.setBounds(TITLE_START_HOR,TITLE_START_VER,RIGHT_WIDTH,TITLE_HEIGHT);
labelTitle.setFont(new Font("华文中宋",Font.PLAIN,36));
labelTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
this.labelName.setBounds(START_HOR,START_VER,HEAD_LENGTH,SHOW_HEIGHT);
labelName.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
this.textareaName.setBounds(START_HOR + HEAD_LENGTH + 1,START_VER,CONTENT_LENGTH,SHOW_HEIGHT);
textareaName.setEditable(false);
textareaName.setBackground(java.awt.SystemColor.activeCaptionBorder);
textareaName.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.desktop,1));
this.labelOwner.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL),HEAD_LENGTH,SHOW_HEIGHT);
labelOwner.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
this.textareaOwner.setBounds(START_HOR + HEAD_LENGTH + 1,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL),CONTENT_LENGTH,SHOW_HEIGHT);
textareaOwner.setEditable(false);
textareaOwner.setBackground(java.awt.SystemColor.activeCaptionBorder);
textareaOwner.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.desktop,1));
this.labelText.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*3,CONTENT_LENGTH,SHOW_HEIGHT);
this.textareaText.setEditable(false);
jScrollPane.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*4-SHOW_INTERVAL,RIGHT_WIDTH-START_HOR*2,RIGHT_HEIGHT_CONTENT-START_VER - (SHOW_HEIGHT + SHOW_INTERVAL)*4);
jScrollPane.setViewportView(textareaText);
contentPane.add(labelTitle,null);
contentPane.add(labelName,null);
contentPane.add(labelOwner,null);
contentPane.add(labelText,null);
contentPane.add(textareaName,null);
contentPane.add(textareaOwner,null);
contentPane.add(jScrollPane,null);
this.setLayout(borderLayout);
this.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
this.add(contentPane,BorderLayout.CENTER);
this.refresh();
}
public JPanel getJPanel(){
return this;
};
public void open(){
}
public void close(){
}
public void refresh(){
this.labelTitle.setText(title);
this.labelName.setText(this.showName);
this.labelOwner.setText(this.showOwner);
this.labelText.setText(this.showText);
this.textareaName.setText(this.name);
this.textareaOwner.setText(this.owner);
this.textareaText.setText(this.text);
}
/* (non-Javadoc)
* @see com.icbcsdc.ddlexp.ui.rightPanel.RightPanel#expDDL()
*/
public void expDDL() {
// TODO Auto-generated method stub
}
public void setSelect(){}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?