tabcol2_btn3_panel.java

来自「导出ORACLE数据库对象DDL语句的程序」· Java 代码 · 共 840 行 · 第 1/2 页

JAVA
840
字号
	    		this.showArr.add(new Boolean(constraint.isSelected()));
	    	}
  		}
    	this.showTitle = "Constraints";
      	this.showDesc = "Pelese select from the under table:";
    	this.ColumnName[COL_OBJECT] = "Constraint Name";
    	this.ColumnName[COL_ISSELECTED]	= "Selected";
      	break;

      default:
      	/*其他情况*/
      	this.showTitle = "Nothing";
        this.showDesc = "Nothing";
      	this.ColumnName[COL_OBJECT] = "Objects";
      	this.ColumnName[COL_ISSELECTED]	= "Selected";
      	break;      
      }

	try {
        jbInit();
    }catch(Exception ex) {
      ex.printStackTrace();
    }
  }

  void jbInit() throws Exception {
      this.setLayout(borderLayout);
      this.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
      this.add(contentPane,BorderLayout.CENTER);

      labelTitle.setText(showTitle);
      labelTitle.setFont(new Font("华文中宋",Font.BOLD,36));
      labelTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
      labelTitle.setBounds(TITLE_START_HOR,TITLE_START_VER,RIGHT_WIDTH,TITLE_HEIGHT);

      labelDesc.setText(showDesc);
      labelDesc.setFont(new Font("华文细黑",Font.PLAIN,15));
      labelDesc.setBounds(START_HOR,START_VER,RIGHT_WIDTH,SHOW_HEIGHT);

      jScrollPane.setBounds(START_HOR,START_VER+SHOW_HEIGHT+SHOW_INTERVAL,RIGHT_WIDTH-START_HOR-END_LENGTH,RIGHT_HEIGHT_CONTENT-SHOW_HEIGHT*10);
      tableModel = new Col2_Sel1_TableModel(this.ColumnName);
      jTable_Show.setModel(this.tableModel);

      jScrollPane.setViewportView(jTable_Show);

      this.button_Export.setText("Export");
      this.button_Export.setBounds((RIGHT_WIDTH-330)/4,RIGHT_HEIGHT_CONTENT-(SHOW_HEIGHT+SHOW_INTERVAL)-END_LENGTH,110,SHOW_HEIGHT+SHOW_INTERVAL);
      button_Export.addActionListener(new java.awt.event.ActionListener() { 
		public void actionPerformed(java.awt.event.ActionEvent e) {    
			pressOK();
			}
      });

	  this.button_AllSelect.setText("All Select");
      this.button_AllSelect.setBounds((RIGHT_WIDTH-330)/4*2+110,RIGHT_HEIGHT_CONTENT-(SHOW_HEIGHT+SHOW_INTERVAL)-END_LENGTH,110,SHOW_HEIGHT+SHOW_INTERVAL);

	  button_AllSelect.addActionListener(new java.awt.event.ActionListener() { 
		public void actionPerformed(java.awt.event.ActionEvent e) {    
			allSelect(true);
			}
      });

      this.button_ClearSelect.setText("Clear Select");
      this.button_ClearSelect.setBounds((RIGHT_WIDTH-330)/4*3+220,RIGHT_HEIGHT_CONTENT-(SHOW_HEIGHT+SHOW_INTERVAL)-END_LENGTH,120,SHOW_HEIGHT+SHOW_INTERVAL);

	  button_ClearSelect.addActionListener(new java.awt.event.ActionListener() { 
		public void actionPerformed(java.awt.event.ActionEvent e) {    
			allSelect(false);
			}
      });

      
      contentPane.add(labelTitle,null);
      contentPane.add(labelDesc,null);
      contentPane.add(jScrollPane);
      contentPane.add(button_Export,null);
      contentPane.add(button_AllSelect,null);
      contentPane.add(button_ClearSelect,null);
      contentPane.setLayout(null);
      
      //刷新显示界面
      this.refresh();

}

    private void pressOK(){
    	setSelect();
    	
    
        this.expDDL();
        
    	//按确定按钮后的动作
    	if(showObj[0][0].toString().length() != 0){
    		ArrayList selectObject = new ArrayList();
    		for(int j=0;j<showObj.length;j++){
    			if(showObj[j][COL_ISSELECTED].equals(new Boolean(true))){
    				selectObject.add(showObj[j][COL_OBJECT].toString());
    			}
    		}
    	}
    }
    private void allSelect(boolean flag){
    	//全选和清除全选动作
    	Object[][] showObj = this.tableModel.getData();
    	if(showObj[0][0].toString().length() != 0){
	    	for(int i=0;i<showObj.length;i++)
	    		showObj[i][COL_ISSELECTED] = new Boolean(flag);
	    	this.tableModel.setData(showObj);
	    	this.setTableColumnLength();
    	}else{
    		return;
    	}
   }
 
	public JPanel getJPanel(){
	    return this;
	}; 
	    
    public void open(){
 
    }

    public void close(){
    			
    }
    
    public void refresh(){
    	//刷新显示内容
    	if(children != null){	//有显示内容
    		//将按钮设置为“有效”
			this.button_Export.setEnabled(true);
			this.button_AllSelect.setEnabled(true);
			this.button_ClearSelect.setEnabled(true);			

			//在表格中显示内容
			Object[][] showObj = new Object[(showArr.size())/2][this.ColumnName.length];
	    	for(int i=0;i<showObj.length;i++){
	    		showObj[i][COL_OBJECT] = showArr.get(2*i);
				showObj[i][COL_ISSELECTED] = new Boolean(showArr.get(2*i+1).toString());
	    	}
	    	this.tableModel.setData(showObj);
    	}else{
    		//没有可显示内容,按钮无效
			this.button_Export.setEnabled(false);
			this.button_AllSelect.setEnabled(false);
			this.button_ClearSelect.setEnabled(false);
    	}
    	
    	this.setTableColumnLength();
    	
    }
    
 	public void setSelect(){
        
 		if(this.node.getDirectChildren() == null){
        	return;
        }
 		
     	showObj = this.tableModel.getData();
		int i=0;
    	
    	//判断每个子节点是否被选择
        switch(this.selctNodeType){
        case(XMLNode.XML_ROLES):
        	/*角色*/
    		if(this.children != null){
    			enumeration = children.elements();
    			while(enumeration.hasMoreElements()){
    				XMLRole role = (XMLRole)enumeration.nextElement();
    				if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    					role.setSelected(true);
    				}else{
    					role.setSelected(false);
    				}
    				Logger.log(Logger.DEBUG,role.getName()+":"+role.isSelected());
    			}
    		}
        	break;
        	
        case(XMLNode.XML_USERS):
          	/*用户*/
      		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLUser user = (XMLUser)enumeration.nextElement();
    				if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    					user.setSelected(true);
    				}else{
    					user.setSelected(false);
    				}
    	    	}
      		}
          	break;
          	
          case(XMLNode.XML_TABLESPACES):
          	/*表空间*/
      		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLTablespace tablespace = (XMLTablespace)enumeration.nextElement();
    				if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    					tablespace.setSelected(true);
    				}else{
    					tablespace.setSelected(false);
    				}
    	    	}
      		}
          	break;
          	
          case(XMLNode.XML_UNDO_SEGS):
          	/*回滚段*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLUndoSeg undoseg = (XMLUndoSeg)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			undoseg.setSelected(true);
    				}else{
    					undoseg.setSelected(false);
    				}
    	    	}
      		}
          	break;

          case(XMLNode.XML_SCHEMAS):
          	/*方案*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLSchema schema = (XMLSchema)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			schema.setSelected(true);
    				}else{
    					schema.setSelected(false);
    				}
    	    	}
      		}
          	break;
          	
          case(XMLNode.XML_SEQUENCES):
          	/*序列*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLSequence sequence = (XMLSequence)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			sequence.setSelected(true);
    				}else{
    					sequence.setSelected(false);
    				}
    	    	}
      		}
          	break;

          case(XMLNode.XML_FUNCTIONS):
          	/*函数*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLFunction function = (XMLFunction)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			function.setSelected(true);
    				}else{
    					function.setSelected(false);
    				}
    	    	}
      		}
          	break;

          case(XMLNode.XML_PACKAGES):
          	/*程序包*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLPackage package0 = (XMLPackage)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			package0.setSelected(true);
    				}else{
    					package0.setSelected(false);
    				}
    	    	}	    		
      		}
          	break;

          case(XMLNode.XML_PACKAGEBODIES):
          	/*程序包体*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLPackageBody packagebodies = (XMLPackageBody)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			packagebodies.setSelected(true);
    				}else{
    					packagebodies.setSelected(false);
    				}
    	    	}	    		
      		}
          	break;

          case(XMLNode.XML_PROCEDURES):
          	/*存储过程*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLProcedure procedure = (XMLProcedure)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			procedure.setSelected(true);
    				}else{
    					procedure.setSelected(false);
    				}
    	    	}	    		
      		}
          	break;

          case(XMLNode.XML_SYNONYMS):
          	/*同义词*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLSynonym synonym = (XMLSynonym)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			synonym.setSelected(true);
    				}else{
    					synonym.setSelected(false);
    				}
    	    	}	    		
      		}
          	break;
          	
          case(XMLNode.XML_VIEWS):
          	/*视图*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLView view = (XMLView)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			view.setSelected(true);
    				}else{
    					view.setSelected(false);
    				}
    	    	}
      		}
          	break;
          	
          case(XMLNode.XML_TABLES):
          	/*表*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLTable table = (XMLTable)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			table.setSelected(true);
    				}else{
    					table.setSelected(false);
    				}
    	    	}
      		}
          	break;

          case(XMLNode.XML_TRIGGERS):
          	/*触发器*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLTrigger trigger = (XMLTrigger)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			trigger.setSelected(true);
    				}else{
    					trigger.setSelected(false);
    				}
    	    	}
      		}
          	break;

          case(XMLNode.XML_INDEXES):
          	/*索引*/
    		if(children != null){
      			enumeration=children.elements();
    	    	while(enumeration.hasMoreElements()){
    	    		XMLIndex index = (XMLIndex)enumeration.nextElement();
    	    		if(showObj[i++][COL_ISSELECTED].toString().equalsIgnoreCase("true")){
    	    			index.setSelected(true);
    				}else{
    					index.setSelected(false);
    				}
    	    	}
      		}
          	break;

        default:
        	break;
        }
	
 	}
   
    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_OBJECT):
					column.setPreferredWidth(1000);
					break;
				case(COL_ISSELECTED):
					column.setPreferredWidth(200);
					break;
				default:
					break;
			}
		}
    }

	/* (non-Javadoc)
	 * @see com.icbcsdc.ddlexp.ui.rightPanel.RightPanel#expDDL()
	 */
	public void expDDL() {
		parent.getSelectedTree().selectedNodeExport();		
		
	}
}

⌨️ 快捷键说明

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