datawindow java

发表于:2007-05-25来源:作者:点击数: 标签:javadatawindowjavthisbasic
/*///////////////////////////////////////////////////////////////////////// * * This is a basic java datawindow example. * I want explaine you how to use a datawindow control for java development. * (its so basic...) * *Autor: * David Arci
/*/////////////////////////////////////////////////////////////////////////
 *
 *  This is a basic java datawindow example.
 *  I want explaine you how to use a datawindow control for java development.
 *  (its so basic...)
 *
 *	Autor:
 *  David Arcia 09-09-2002 (david.arcia@softhome.net)
 *
//////////////////////////////////////////////////////////////////////////*/

import javax.swing.JOptionPane;
import javax.swing.JFrame;
import powersoft.datawindow.JDataWindowControl;
import powersoft.datawindow.Blob;
import powersoft.powerj.db.java_sql.Transaction;


public class JDataWindow extends JFrame{

	//The datawindow															
	private JDataWindowControl dwcActual;
	//The powerbuilder library path (where dataobjects are stored)
	private final String LIBRERIA = new String("C:\PB7\java.pbl");
	//Transaction objetc for database connection
	private Transaction trans;  
	
  
	  //Contructor
	  public JDataWindow() {  	 
	  		//New datawindow control
			dwcActual = getDataWindow("dw_products",true,true,true);
			//Not null ?
			if(dwcActual == null) return;
	  }//ends method


	/********************************************************************************
	 * CONNECTION USING POWERSOFT TRANSACTION OBJECT (as SQLCA in PowerBuilder)
	 ********************************************************************************/
	 //This method connect with database (by example, a oracle database)
	 public boolean setConnect(){
	        trans = new Transaction();
            trans.registerDriver( "oracle.jdbc.driver.OracleDriver" );					
            trans.setDataSource("jdbc:oracle:thin:@192.168.22.10:1521:FALCON");		
            trans.setUserID( "rjimenez" );		
            trans.setPassword( "defalcon" );                       
            //Error ?
            if(!trans.connect()){
                System.err.println("Connection failed.");
                return false;
            }	          	           
            return true;          	         	         	          	 		 	
	 }//ends method
	 

	
	/********************************************************************************
	 * JAVA DATAWINDOW'S CREATION
	 ********************************************************************************/
    //Create a datawindow
    public JDataWindowControl getDataWindow(String dataobject){
          JDataWindowControl dwc = new JDataWindowControl();  
		  //Assign a datawindow library
          dwc.setSourceFileName(LIBRERIA);
          //Assign a datawindow object to the dw control
          dwc.setDataWindowObjectName(dataobject);		
          //Some properties...
          dwc.setVScroll( true );
          dwc.insertRow(0);    
	      //Assign the transaction object to dw
	      dwc.setTransaction(trans);  
          //return object created
          return dwc;					
    }//ends method


  //Optional...Method for row selection
  public void selectRow(int row){
  		if(row > 0){
			dwcActual.selectRow(0,false);
			dwcActual.selectRow(row,true);
			dwcActual.scrollToRow(row);
			dwcActual.setRow(row);			
		}
  }//ends method

  
  //Optional... for to make a datawindow editable or not
  public void setEditable(JDataWindowControl dwc, boolean editar){  	
  		//Aclearcase/" target="_blank" >ccept text
  		dwcActual.acceptText();
  		//get column number
  		int cols = Integer.parseInt(dwc.describe("Datawindow.column.count"));   		 		
		//////////////////////////////////////////////////////////////////////////						  		
  		String indicador = (editar) ? "1" : "0";
		//////////////////////////////////////////////////////////////////////////						
  		editable = indicador == "1";
  		//Change the editable porperty
  		for(int cont=1; cont <= cols; cont++){
  			dwc.modify("#" + cont + ".TabSequence = " + indicador)	;  			
  		}  	
  }//ends method



  //Optional... Insert new row to datawindows end.
  public void getNewRow(){
		  int row=dwcActual.insertRow(0);   
		  selectRow(row);
  }//final de metodo


  //Optional... Delete a datawindow row
  public void deleteRow(){
		int boton=JOptionPane.showConfirmDialog(null,"Delete actual row ?", "Deleting", 
		JOptionPane.YES_NO_OPTION);		
		if(boton == 0) dwcActual.deleteRow(dwcActual.getRow());  	
  }//Fin de metodo

          
	/********************************************************************************
	* THIS ARE THE DATAWINDOW'S EVENT MANAGERS
	*
	* The events that support datawindow are clasificated in differents interfaces
	* according it function.
	*
	********************************************************************************
	
	Interfaces:
		MouseListener,FocusListener,DatabaseListener,EditChangedListener,
		ItemListener,PrintListener,RowChangeListener, etc...
													
	Datawindow events:
		public void leftButtonDoubleClick (MouseEvent event){}
		public void leftButtonClick (MouseEvent event){}
		public void leftButtonDown ( MouseEvent event){}	
		public void leftButtonUp ( MouseEvent event){}	
		public void middleButtonClick ( MouseEvent event){}	
		public void middleButtonDoubleClick ( MouseEvent event){}
		public void mouseMove ( MouseEvent event){}	
		public void rightButtonClick ( MouseEvent event){}
		public void rightButtonDoubleClick ( MouseEvent event){}	
		public void rightButtonDown ( MouseEvent event){}
		public void rightButtonUp ( MouseEvent event){}
		public void getFocus ( FocusEvent event){}
		public void loseFocus ( FocusEvent event){}	
		public void DBError ( DatabaseEvent event){}
		public void SQLPreview ( DatabaseEvent event){}
		public void editChanged ( EditChangedEvent event){}	
		public void itemChanged ( ItemEvent event){}
		public void itemChangeAccepted ( ItemEvent event){}
		public void itemError ( ItemEvent event){}
		public void itemFocusChanged ( ItemEvent event){}	    
		public void printEnding ( PrintEvent event){}
		public void printMarginChanging ( PrintEvent event){}	
		public void printPageStarting ( PrintEvent event){} 	
		public void printStarting ( PrintEvent event){}	
		public void retrieveEnd ( RetrieveEvent event){}	
		public void retrieveRow ( RetrieveEvent event){}	
		public void retrieveStart ( RetrieveEvent event){}  
		public void rowChanged ( RowChangeEvent event){}
		public void rowChanging ( RowChangeEvent event){}
		etc...
		
			
	********************************************************************************/

}//ends classe

原文转自:http://www.ltesting.net