java datawindow_月光软件站 - 编程文档 - 数据库 - datawindow java

/*/

*

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值