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

📄 comparepanel.java

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

import java.awt.BorderLayout;
import java.awt.Font;
import java.util.Enumeration;
import java.util.Hashtable;

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.OracleRole;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.PropertyChanged;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode;
import com.icbcsdc.ddlexp.ui.TreeFrame;
import com.icbcsdc.ddlexp.ui.model.NoEdit_TableModel;

/**
 * @author zhangyc
 *
 * To change this generated comment edit the template variable "typecomment":
 * Window>Preferences>Java>Templates.
 * To enable and disable the creation of type comments go to
 * Window>Preferences>Java>Code Generation.
 */
public class ComparePanel extends RightPanel {

  	private BorderLayout borderLayout = new BorderLayout();
	private JLabel labelTitle =new JLabel();
  	private JTable jTable_Show = new JTable();		//显示内容的Table
  	private String[] columnName = null;				//Table列的列头
  	private int[] colLength = new int[3];			//Table列的宽度
  	private static final byte COL_1 = 0;
  	private static final byte COL_2 = 1;
  	private static final byte COL_3 = 2;
  	private NoEdit_TableModel tableModel = null;		//Table Model
  	private String[][] showObj = null;
  	private JScrollPane jScrollPane = new JScrollPane();
  	private Border border;
  	private JPanel contentPane = new JPanel();
	private String title = "";

	/**
	 * Constructor for ComparePanel.
	 * @param parent
	 * @param pvnode
	 */
	public ComparePanel(TreeFrame parent, XMLNode node) {
		super(parent, node);
		
    	this.title = XMLNode.type2String(node.getType())+":"+node.getName();
    	
		//System.out.println("ComparePanel():"+1);
    	columnName = new String[3];
    	columnName[COL_1] = "Property Name";
    	columnName[COL_2] = "Source Value";
    	columnName[COL_3] = "Dest Value";
		//System.out.println("ComparePanel():"+2);
    	colLength[COL_1] = 450;        
    	colLength[COL_2] = 700;        
    	colLength[COL_3] = 700;        
		//System.out.println("ComparePanel():"+3);

    	
    	Hashtable array = node.getChangedProperties();
		//System.out.println("array.size:"+array.size());
    	if(array.size() > 0){
    		this.showObj = new String[array.size()][columnName.length];
    		Enumeration enum=array.elements();
    		int i=0;
    		while(enum.hasMoreElements()){
				PropertyChanged property=(PropertyChanged)enum.nextElement();
				//System.out.println("No. "+i+" property: "+property.getName()+"/"+property.getOldValue()+"/"+property.getNewValue());
	      		showObj[i][COL_1] = property.getName();
	      		showObj[i][COL_2] = property.getOldValue();
	      		showObj[i][COL_3] = property.getNewValue();
	      		i++;
    		}
    		
    	}
		
		
	    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);
      
      jScrollPane.setBounds(START_HOR,START_VER,RIGHT_WIDTH-START_HOR*2,RIGHT_HEIGHT_CONTENT-START_VER - SHOW_INTERVAL);
      
      tableModel = new NoEdit_TableModel(this.columnName);
      jTable_Show.setModel(this.tableModel);

      jScrollPane.setViewportView(jTable_Show);
      
      contentPane.add(labelTitle,null);
      contentPane.add(jScrollPane,null);
      
      this.setLayout(borderLayout);
      this.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
      this.add(contentPane,BorderLayout.CENTER);

      this.refresh();
  }

	/**
	 * @see com.icbcsdc.ddlexp.ui.rightPanel.RightPanel#getJPanel()
	 */
	public JPanel getJPanel() {
		return this;
	}

	/**
	 * @see com.icbcsdc.ddlexp.ui.rightPanel.RightPanel#open()
	 */
	public void open() {
	}

	/**
	 * @see com.icbcsdc.ddlexp.ui.rightPanel.RightPanel#close()
	 */
	public void close() {
	}

	/**
	 * @see com.icbcsdc.ddlexp.ui.rightPanel.RightPanel#expDDL()
	 */
	public void expDDL() {
	}

    public void refresh(){
        labelTitle.setText(title);
        
        this.tableModel.setData(this.showObj);
        this.setTableColumnLength();
    }
    
    private void setTableColumnLength(){
    	TableColumn column = null;
		for (int i = 0; i < this.columnName.length; i++) {
			column = this.jTable_Show.getColumnModel().getColumn(i);
			switch(i){
				case(COL_1):
					column.setPreferredWidth(colLength[COL_1]);
					break;
				case(COL_2):
					column.setPreferredWidth(colLength[COL_2]);
					break;
				case(COL_3):
					column.setPreferredWidth(colLength[COL_3]);
					break;
				default:
					break;
			}
		}
    }

	/**
	 * @see com.icbcsdc.ddlexp.ui.rightPanel.RightPanel#setSelect()
	 */
	public void setSelect() {
	}

	public static void main(String[] args) {
	}
}

⌨️ 快捷键说明

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