Class 14 - Turning Wheel
Download
Report
Transcript Class 14 - Turning Wheel
VISUAL J++
Colorado Technical University
IT420
Tim Peterson
5-1
J++ Advantages
• There are many Rapid Application
Development (RAD) environments for
JAVA.
• Many work on only pure Java.
• J++ provides many features that can be
utilized by Windows systems.
• J++ is an excellent tool for accessing
databases.
5-2
J++ Overview
• J++ is compatible with SUN’s Java
Development Kit (JDK).
• J++ includes Windows Foundation Classes
(WFC).
• J++ does not support Java Foundation
Classes, Java Beans, or Enterprise Java
Beans.
5-3
J++ Overview - Cont’d
• Visual J++ allows users to use DHTML.
• Visual J++ includes many wizards to help
you with development efforts.
• J++ is targeted towards people building
Windows based corporate intranets.
• J++ is OOP which makes it better than
languages such as Vbasic.
5-4
Windows Foundation Classes
• WFC is used integrate the Windows
platform with the Java language.
• Reasons to use WFC:
– Performance is greatly increased.
– WFC has a data binding model.
– WFC also supports ADO and binds them.
• If we were to implement our Java code on
other platforms, we would not use WFC.
5-5
WFC Implementation
• WFC is implemented as a Java class layer.
• WFC provides an object oriented set of
classes.
• WFC allows for URL requests that in turn
contain database connectivity.
• With WFC, you can return HTML to a
range of platforms including Windows CE
devices, Web TV, and Macintosh.
5-6
WFC Implementation - Cont’d
• WFC allows a developer to use any method
(member function) contained within a DLL.
• WFC applications will not run on nonwindows platforms.’
• J++ provides an alternative to using Visual
Basic and C++.
5-7
Component Object Model (COM)
• COM is an integral part of developing Windowsspecific intranet applications.
• In J++, all Java objects become COM objects.
• Key elements of the WFC API include:
– UI based on either Win32 or DHTML
– Data binding to a database.
– Operations can be performed when connected to the
Internet or in an off-line mode.
– DOS command line operation.
5-8
WFC Packages
• The main packages provided in WFC are as
follows:
• com.ms.wfc.app
com.ms.wfc.io
• com.ms.wfc.ax
com.ms.wfc.ole32
• com.ms.wfc.core com.ms.wfc.ui
• com.ms.wfc.data com.ms.wfc.util
• com.ms.wfc. html com.ms.wfc.win32
5-9
GUI Classes
• GUI classes from package wfc.ui provide:
– Provides for control of GUI objects. Examples:
• Setting and retrieving control properties.
• Event management of controls.
• Methods dealing with parent/child relationships of
controls.
• Methods affecting control layouts.
• Low level control processing.
• Windows handles, messages, and thread invocation.
5-10
System Classes
• Part of wfc.app.
• With WFC, one can manipulate the OS.
• The developer can encapsulate memory and
file objects.
• Underlying OS platform can be accessed
using J/Direct.
5-11
UI/DHTML Code Example
Import wfc.html.*
Import wfc.ui.*
{
{
DhPanel queryForm = new DhPanel();
Form queryForm = new Form();
DhButton submit = new DhButton();
Button submit = new Button();
submit.setText (“Submit”)
submit.setText (“Submit”)
submit.setPosition(20,50);
queryForm.add(submit);
submit.setPosition(20,50);
}
queryForm.add(submit);
}
5-12
DHTML Advantages
• Allows you to create cross-platform code.
• It provides for user interaction and data
presentation using the following
combinations:
– HTML
– Scripts
– Document Object Model
5-13
DHTML Advantages - Cont’d
• Allows the developer to control the Web
Page.
• DHTML pages can be authored using J++.
• J++ then generates DHTML code on the fly.
• To use DHTML in J++, you must extend the
DhModule class.
5-14
Example J++ Extending DHTM
Public class NewDHTMLClass extends DhModule
{
public void documentLoad(Object sender, DHEvent e)
{
DhDocument Dhdoc = getDocument();
Dhdoc.add(new
DhText(“Text to see in Web page”));
}
}
5-15
DHTML Event Handling
• You work with events using delegates.
• A delegate declaration extends
.com.ms.lang.Delegate.
• A delegate instance can call a method on an
object and pass data to that method.
• Mainly used to bind events to handler
methods.
5-16
WFC Designer
• WFC Designer tool is best way to build
Windows GUIs using J++.
• With this tool, you can bind data sources to
any visual control using drag and drop.
• Applications built using WFC designer are
true Windows applications.
5-17
WFC Designer - Cont’d
• In general, when using the WFC designer, the
following should be accomplished:
–
–
–
–
Ensure that data controls are added to the toolbox.
Retrieve a set of records
Display the data on the form
Navigate the records.
• If the above can be done, the integrity of the WFC
is most likely sound.
5-18
DataSource Control
• In the WFC designer, the DataSource control
provides for data access for J++.
• DataSource combines the functionality of
Connection, Command, and Recordset objects.
• DataSource only retrieves data and does not
display it.
• To being using DataSource, it must be added to a
form.
5-19
DataSource Control - Cont’d
• To connect to a database, you must set the
connectionString property. To access an ODBC
data source, the string is as follows:
DSN=Nwind; UID=peterson; PWD=password
• To access an Access database, the string is as
follows:
Provider=Microsoft.Jet.OLEDB.3.51;
Data Source=filename;
User ID=UserID; Password=password;
• After this, then the SQL command is entered.
5-20
DataBinder Control
• Now that the records have been retrieved,
the data must be bound to a display.
• If an attempt is made to updated a read-only
recordset, and ADO exception is generated.
• The DataBinder can only bind components
that exist on the same WFC design surface.
• DataBinder does not provide any means to
validate changes made to a property’s value.
5-21
DataBinder Control - Cont’d
• Components of bound properties can
provide events.
• To support a property change request, a
<PropertyName>Changing event exists.
5-22
Universal Data Access
• UDA is Microsoft’s solution to providing
high-performance access to data.
• UDA enables access to any data source on
any platform.
• An API is included for this.
• Components that make this possible are
ADO, Remote Data Services, OLE DB, and
ODBC.
5-23
Java ActiveX Data Objects
• JADO builds on ADO to present a
simplified API.
• JADO components include:
– Connection objects
– Command objects
– Recordset objects
• Purpose of JADO is to provide access to, to
edit, and to update data sources.
5-24
JADO Abilities
• Establish a connection to a data source.
• Create an object.
• Parameterize SQL statements with variable
parameters using the Parameter object.
• Execute the commands using the
Connection, Command, or Recordset object.
5-25
JADO Abilities - Cont’d
• Edit Recordsets.
• Cache returned rows using a Recordset
object.
• Update data source with cached data.
• Sort, filter, and navigate data in cache.
• Commit and rollback changes and then end
the connection using the Connection object.
5-26
Connection Object
• Connection object is an open connection to
a data source.
• JADO accesses data and services from an
OLE DB provider.
• The connection object specifies:
– the particular provider
– associated parameters
5-27
Connection Object Open and Close Methods
• The Open method establishes a physical
connection to the data source.
– Once live, you can issue commands against it.
• The Close method is used to close a
connection or free associated system
resources.
• Closing an object does not remove it from
memory.
5-28
Connection Object Transactions
• Transactions delimit the beginning and end
of data access operations across a
connection.
• JADO ensures that transaction is totally
complete prior to issuing a Commit.
• If transaction is not completed, JADO
issues a rollback.
5-29
Command Object
• Command object is the definition of the command
to run against a data source.
• Commands normally add, delete, update, or
retrieve data in a data source.
• JADO optimizes the execution of the command.
• With the Command object, multiple commands
can be associated with a single object.
5-30
Parameter Object
• This object allows you to treat parameters
like functions.
• All you need to know is this interface and
how to pass to it.
• This is used with the command object.
• Use the CreateParameter method to create
objects and use Append to add them to the
Parameters collection.
5-31
Recordset Object
• A recordset object reflects data from a rowreturning query.
• This object represents the set of records
from a table or results from an executed
command.
• Recordset is used to examine and update
data.
5-32
Recordset Object Capabilities
• Recordset Objects perform the following:
–
–
–
–
–
–
Manage state of the Recordset.
Add, update, and delete rows
Traverse rows
Specify available rows
Specify order of rows
Update the data source with changes to rows.
5-33
Recordset Object Cursors
• Recordsets are created using rows and columns.
• JADO provides for four cursor types:
–
–
–
–
Dynamic
Keyset
Static
Forward-only
• CursorType property must be set prior to opening
the Recordset.
5-34
Field Object
• To modify data in a data source, the Field
objects are first modified.
• Field objects can perform:
– Get or set data in Field with Value Property.
– Get the name of the field (Name Property).
– Get attributes (Type, Precision, and Numeric
scale).
5-35
Field Object - Cont’d
– Obtain size of a field with DefinedSize and
ActualSize properties.
– Manipulate binary and char files with
AppendChunk and GetChunk.
– Determine functionality of a field by using the
attributes property.
• The value property of a field is handled as a
variant.
5-36
Error Object
• Errors with JADO usually are:
– Failure to establish a connection.
– Failure to execute a command.
– Failure to perform an operation on an object in
a suitable state.
• Errors are placed in the Errors collection of
the Connection object.
5-37
Error Object Properties
• The Error object allows you to use the
following properties:
–
–
–
–
–
Description
Number
Source
HelpFile and HelpContext
SQL State and NativeError
5-38
Collections
• Under JADO, Collections exist for:
– Parameter Objects
– Field Objects
– Error Objects
• Data is retrieved using the collection
method by name, text string, or integer
number referencing it’s position in the
collection.
5-39
Using Recordsets Remotely
• JADO also provides the ability to develop
off-network.
• Users can download Remoteable Recordsets
(a subset of the source data).
• Developers can then create code to modify
this Recordset off-line.
5-40
Visual Database Tools
• Data View - used to connect to any ODBC or OLE
DB database.
• Database Designer - used to create and modify
SQL server databases.
• Query Designer - used to design, execute, and
save SQL queries.
• Stored Procedure Editor - Used to create STPs.
• Stored Procedure Debugger - Used to debug STPs.
5-41