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

📄 tab2_labs_panel.java

📁 导出ORACLE数据库对象DDL语句的程序
💻 JAVA
字号:
package com.icbcsdc.ddlexp.ui.rightPanel;

import java.awt.BorderLayout;
import java.awt.Font;
import java.util.ArrayList;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.Border;
import javax.swing.table.TableColumn;

import com.icbcsdc.ddlexp.pub.xml.nodeinfo.OracleTypeAttribute;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.OracleTypeMethod;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLObjectType;
import com.icbcsdc.ddlexp.ui.TreeFrame;
import com.icbcsdc.ddlexp.ui.model.NoEditTextArea;
import com.icbcsdc.ddlexp.ui.model.NoEdit_TableModel;

/**
 * 
 * 右边窗口内容显示
 *
 *适用对象:
 *用于显示对象类型ObjectType的详细内容
 * 
 */
public class Tab2_labs_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 labelAttr =new JLabel();
  private JLabel labelMeth =new JLabel();
  private NoEditTextArea textarea1 =new NoEditTextArea();
  private NoEditTextArea textarea2 =new NoEditTextArea();
  
  private JTable jTable_Show1 = new JTable();		//显示内容的Table
  private JTable jTable_Show2 = new JTable();		//显示内容的Table
  
  private String[] columnName1 = new String[2];		//Table列的列头
  private String[] columnName2 = new String[2];		//Table列的列头
  private int[] colLength = new int[3];				//Table列的宽度

  private static final byte COL_1 = 0;
  private static final byte COL_2 = 1;
  private NoEdit_TableModel tableModel1 = null;		//Table Model
  private NoEdit_TableModel tableModel2 = null;		//Table Model
  private String[][] showObj1 = null;
  private String[][] showObj2 = null;

  private JScrollPane jScrollPane1 = new JScrollPane();
  private JScrollPane jScrollPane2 = new JScrollPane();

  private Border border;
  private JPanel contentPane = new JPanel();
  
  private String title = "";
  private String showName = "";
  private String showOwner = "";
  private String show1 = "";
  private String show2 = "";
  private String strName = "";
  private String strOwner = "";

  public Tab2_labs_Panel(TreeFrame parent,XMLNode in_node) {
      super(parent,in_node);
      
      switch(in_node.getType()){
      case(XMLNode.XML_OBJECTTYPE):
      	/*对象类型*/
      	XMLObjectType objecttype = (XMLObjectType)in_node;
      	this.title = "Object Type";
    	this.showName = "Type Name:";
    	this.showOwner = "Owner:";
    	this.show1 = "    Attributes:";
    	this.show2 = "    Methods:";
    	this.strName = objecttype.getName();
    	this.strOwner = in_node.getParent().getParent().getParent().getName();

    	columnName1[COL_1] = "Name";
        columnName1[COL_2] = "Data Type";
    	columnName2[COL_1] = "Name";
        columnName2[COL_2] = "Method Type";
        colLength[COL_1] = 1000;        
        colLength[COL_2] = 600;        
        
        ArrayList attrs = objecttype.getAttributes();
        if(attrs.size() > 0){
        	this.showObj1 = new String[attrs.size()][columnName1.length];
        	for(int i=0;i<attrs.size();i++){
        		OracleTypeAttribute attr = (OracleTypeAttribute)attrs.get(i);
        		showObj1[i][COL_1] = attr.getName();
        		showObj1[i][COL_2] = attr.getDataType();
        	}
        }

        ArrayList methods = objecttype.getMethods();
        if(methods.size() > 0){
        	this.showObj2 = new String[methods.size()][columnName1.length];
        	for(int i=0;i<methods.size();i++){
        		OracleTypeMethod method = (OracleTypeMethod)methods.get(i);
        		showObj2[i][COL_1] = method.getName();
        		showObj2[i][COL_2] = method.getMethodType();
        	}
        }        
      	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.textarea1.setBounds(START_HOR + HEAD_LENGTH + 1,START_VER,CONTENT_LENGTH,SHOW_HEIGHT);
      textarea1.setEditable(false);
      textarea1.setBackground(java.awt.SystemColor.activeCaptionBorder);
      textarea1.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.textarea2.setBounds(START_HOR + HEAD_LENGTH + 1,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL),CONTENT_LENGTH,SHOW_HEIGHT);
      textarea2.setEditable(false);
      textarea2.setBackground(java.awt.SystemColor.activeCaptionBorder);
      textarea2.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.desktop,1));

//      this.textarea3.setBounds(START_HOR + HEAD_LENGTH + 1,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*2,CONTENT_LENGTH,SHOW_HEIGHT);
//      textarea3.setEditable(false);
//      textarea3.setBackground(java.awt.SystemColor.activeCaptionBorder);
//      textarea3.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.desktop,1));

      this.labelAttr.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*3,CONTENT_LENGTH,SHOW_HEIGHT);

      this.labelMeth.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*10,CONTENT_LENGTH,SHOW_HEIGHT);

      jScrollPane1.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*4-SHOW_INTERVAL,RIGHT_WIDTH-START_HOR*2,(SHOW_HEIGHT + SHOW_INTERVAL)*5);
      
      tableModel1 = new NoEdit_TableModel(this.columnName1);
      jTable_Show1.setModel(this.tableModel1);
      jScrollPane1.setViewportView(jTable_Show1);

      jScrollPane2.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*11-SHOW_INTERVAL,RIGHT_WIDTH-START_HOR*2,(SHOW_HEIGHT + SHOW_INTERVAL)*5);

      tableModel2 = new NoEdit_TableModel(this.columnName2);
      jTable_Show2.setModel(this.tableModel2);
      jScrollPane2.setViewportView(jTable_Show2);
      
      contentPane.add(labelTitle,null);
      contentPane.add(labelName,null);
      contentPane.add(labelOwner,null);
      contentPane.add(labelAttr,null);
      contentPane.add(labelMeth,null);
      contentPane.add(textarea1,null);
      contentPane.add(textarea2,null);
      contentPane.add(jScrollPane1,null);
      contentPane.add(jScrollPane2,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(){
        labelTitle.setText(title);
        this.labelName.setText(this.showName);
        this.labelOwner.setText(this.showOwner);
        this.labelAttr.setText(this.show1);
        this.labelMeth.setText(this.show2);
        this.textarea1.setText(this.strName);
        this.textarea2.setText(this.strOwner);
        
        this.tableModel1.setData(this.showObj1);
        this.tableModel2.setData(this.showObj2);
        this.setTableColumnLength(this.jTable_Show1);
        this.setTableColumnLength(this.jTable_Show2);
    }
    
    private void setTableColumnLength(JTable table){
    	TableColumn column = null;
		for (int i = 0; i < this.columnName1.length; i++) {
			column = table.getColumnModel().getColumn(i);
			switch(i){
				case(COL_1):
					column.setPreferredWidth(colLength[COL_1]);
					break;
				case(COL_2):
					column.setPreferredWidth(colLength[COL_2]);
					break;
				default:
					break;
			}
		}
    }

	/* (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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -