Documentation

Trace:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
jvx:firstapp [2018/01/25 08:44]
admin
jvx:firstapp [2018/01/25 10:14]
admin
Line 16: Line 16:
   * [[#​workscreen|Work screen]]   * [[#​workscreen|Work screen]]
   * [[#​workscreen|Business object]]   * [[#​workscreen|Business object]]
-  * Database connection+  * [[#​database|Database connection]]
  
 {{anchor:​application:​}} {{anchor:​application:​}}
Line 144: Line 144:
 |createMenuItem|Provided by the super class to create menu entries. The first parameter contains the name of the method which is to be called when the menu entry is selected. The second parameter contains the command (ActionCommand) which plays no role in our case. The text of the menu entry is to be defined in the third parameter, and lastly the image for the entry is passed over.| |createMenuItem|Provided by the super class to create menu entries. The first parameter contains the name of the method which is to be called when the menu entry is selected. The second parameter contains the command (ActionCommand) which plays no role in our case. The text of the menu entry is to be defined in the third parameter, and lastly the image for the entry is passed over.|
 |createToolBarButton|Similar to ''​createMenuItem'',​ except that this method creates a button which adapts to the layout of the toolbar.| |createToolBarButton|Similar to ''​createMenuItem'',​ except that this method creates a button which adapts to the layout of the toolbar.|
-|UIImage.getImage|Provides a predefined image from the JVx image library. For ease of use, we use a predefined image.|+|UIImage.getImage|Provides a predefined image from the JVx image library. ​\\ For ease of use, we use a predefined image.|
 |doOpenDBEdit|This method is called when the menu or the toolbar button are pressed and calls the corresponding work screen.| |doOpenDBEdit|This method is called when the menu or the toolbar button are pressed and calls the corresponding work screen.|
 |configureFrame|This method is provided by the super class and ensures that all frames look the same. This includes the menu icon.| |configureFrame|This method is provided by the super class and ensures that all frames look the same. This includes the menu icon.|
Line 323: Line 323:
 ^ Description ^ ^ Description ^
 |The class mirrors the business object for the ''​DBEditFrame''​ work screen. The objects can only be accessed via the SubConnection of the work screen. \\ Through the class derivation of ''​apps.firstapp.Session'',​ it is very easy to access all objects of the Session and the ''​Application''​.| |The class mirrors the business object for the ''​DBEditFrame''​ work screen. The objects can only be accessed via the SubConnection of the work screen. \\ Through the class derivation of ''​apps.firstapp.Session'',​ it is very easy to access all objects of the Session and the ''​Application''​.|
 +
 +^ Method ^ Description ^
 +|getContacts|Enables the access to the database tablee ''​CONTACTS''​. The method name must match the object name of the RemoteDataBook:​ ''​contacts => getContacts''​. \\ \\ Exception handling is taken over by the server.|
 +
 +{{anchor:​database:​}}
 +== Create a database connection ==
 +
 +In the business object, we referred to the data source with the method ''​getDBAccess()''​. In our case we use a HyperSQL database. We define the database connection in the following class:
 +
 +<file java Session.java>​
 +package apps.firstapp;​
 +
 +import com.sibvisions.rad.persist.jdbc.DBAccess;​
 +import com.sibvisions.rad.persist.jdbc.IDBAccess
 +
 +/**
 + * The LCO for the session.
 + * <p/>
 + * @author René Jahn
 + */
 +public class Session extends Application
 +{
 +  //​~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 +  // User-defined methods
 +  //​~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 +  ​
 +  /**
 +   * Returns access to the database.
 +   ​* ​
 +   * @return the database access
 +   * @throws Exception if a connection error occurs
 +   */
 +  public IDBAccess getDBAccess() throws Exception
 +  {
 +    DBAccess dba = (DBAccess)get("​dBAccess"​);​
 +  ​
 +    if (dba == null)
 +    {
 +      dba = new HSQLDBAccess();​
 +   
 +      dba.setUrl("​jdbc:​hsqldb:​hsql://​localhost/​firstappdb"​); ​
 +      dba.setUsername("​sa"​);​
 +      dba.setPassword(""​);​
 +      dba.open();
 +     
 +      put("​dBAccess",​ dba);
 +    }
 +  ​
 +    return dba;
 +  }  ​
 +
 +}  // Session
 +</​file>​
 +
 +^ Method ^ Description ^
 +|getDBAccess|Opens a new connection to a HSQL database, if this has not yet occurred. \\ \\ Exception handling is taken on by the server.|
 +\\ 
 +The application is now fully implemented and ready to run. To be able to work with the application we need the database including the ''​CONTACTS''​ table which we want to access. It has already been created in the Eclipse project and can be started with ''​../​JVxFirstApp/​db/​startHSqlDB.bat''​.
 +
 +== The first JVx application ==
 +
 +Once the database has been started, the application can be started via the Run menu in Eclipse. The finished application should now look as follows:
 +
 +{{:​jvx:​app_finished.png?​nolink|}}
 +
 +You can find more details about the components of a JVx application as well as step by step instructions for Eclipse under [[jvx:​firstapp_step-by-step|Step by step introductions to the JVx application]].
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information