程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> Datawindow無處不在:datawindow in java

Datawindow無處不在:datawindow in java

編輯:關於SqlServer

From: http://dev.21tx.com/2005/01/18/14251.Html

//轉載加注:datawindow經過我三年的使用,是如此方便快捷。雖然powerj不在使用,但現在pb11和datawindow.net再顯風光。datawindow以控件的面目出現在.Net裡,可以說真是無處不在。如此簡單好用的東西很多人不用,上次我一個朋友居然試圖給一個同學提供Delphi版的report tool for PB,讓我"痛斥"了一番。歸結其原因,還是Sybase沒宣傳好。可以說任何程序,特別是Java這樣的不長於UI編寫的語言,在jBuilder和datawindow的作用下,還是很容易寫一個界面和數據操作的。

*/////////////////////////////////////////////////////////////////////////
*
*  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)

r /> ********************************************************************************/
//This method connect with database (by example, a
Oracle database)
public boolean setConnect(){
        trans = new Transaction();
            trans.re
GISterDriver( "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){ 
  //Accept 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 p

orperty
  for(int cont=1; cont <= cols; cont++){
  dwc.modify("#" + cont + ".TabSequence = " + indicador) ; 
  } 
  }//ends method



  //Optional... Insert new row to data
Windows 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved