datawindow java

发表于:2007-06-07来源:作者:点击数: 标签:
/*///////////////////////////////////////////////////////////////////////// * * 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