bookmarks  3

  •  

    A meta-programming approach to general data modeling. Introduction Meta-JB is a MetaClass/MetaObject layer providing generic access to model implementations, decoupling application logic from underlying implementation details, and allowing user interfaces (Swing, HTML, etc.) to be dynamically generated at runtime. By wrapping model implementations in MetaObject adapters, applications can interact with the model layer in a homogenous way. Description Meta-JB extends the Java Beans-based meta-programming concept to provide more generic access to object attributes and descriptions for any model object with an appropriate adapter. The descriptions of a class's properties (the MetaClass) and access to an object's attributes are decoupled from actual implementations by adapters implementing a Map-like name/value interface (the MetaObject). Because the thin framework is built on generic interfaces, it is not tied directly to real Java bean implementations and can also be used for anything that can access values by name. (Some examples are SQL result sets, HTTP request data, or simple hash maps.) Once a "class" has been described, the information can even be applied to different underlying implementations. The MetaClass/MetaObject layer is a foundation for dynamically generating user-level access to application object models. Toolkits are provided for generating Swing GUIs at runtime or dynamically rendering objects as XML using the class descriptions. On the drawing board is support for generating HTML forms and views as well. Future development may also extend to a collaborative data access layer.
    17 years ago by @gresch
    (0)
     
     
  •  

    Foxtrot is an easy and powerful API to use threads with the JavaTM Foundation Classes (JFC/Swing). The Foxtrot API are based on a new concept, the Synchronous Model, that allow you to easily integrate in your Swing code time-consuming operations without incurring in "GUI-freeze" problem, typical of Swing applications. While other solutions have been developed to solve this problem, being the SwingWorker (see also here for an update) the most known, they are all based on the Asynchronous Model which, for non-trivial Swing applications, carries several problems such as code asymmetry, bad code readability and difficult exception handling. The Foxtrot API cleanly solves the problems that solutions based on the Asynchronous Model have, and it's simpler to use. Your Swing code will immediately benefit of: * code symmetry and readability * easy exception handling * improved mantainability
    17 years ago by @gresch
    (0)
     
     
  •  

    This open source software project connects the world of java with TWAIN.TWAIN is an application programming interface standard used to access scanners & digital cameras ... . This package was developed to scan an image in order to turn it into an *.sff file and then fax it. How does it work ? What happens ? 1. On loading: jtwain.java loads it's C++ counter part, the library jtwain.dll. 2. jtwain.dll will load "TWAIN_32.DLL" and get a function pointer to the DSM (Data Source Manager) entry point (twain state 2). 3. If loading was successful jtwain.java creates a new thread that calls nstart in jtwain.cpp. 4. Due to the fact that twain is signalling events through the OS-dependent event queues, we need to set up an application window including it's wndProc callback function. 5. After that ninitLib will open the DSM (twain state 3). Now the DSM is ready to handle device specific requests. 6. The native thread is then entering the event loop and calling jtwain.cbhandleGetMessage whenever it receives an event. 7. The twain entry function must be called from within the native thread. In order to do that a command can be initiated from arbitrary java threads by calling ntrigger. This will cause the native thread to call jtwain.cbexecute. Two commands can be triggered: 1. Select: The DSM will pop up a select dialog and the user can select a data source. 2. Acquire: The data source will pop up a user dialog that allows the user to set various settings and then either scan or cancel the request. Once an image has been acquired by the twain data source as a DIB (Device Independent Bitmap) a BufferedImage object will be created and the DIB data copied to this BufferedImage. The jtwain object informs the ScannerListeners of the new image.
    17 years ago by @gresch
    (0)
     
     
  • ⟨⟨
  • 1
  • ⟩⟩

publications  

    No matching posts.
  • ⟨⟨
  • ⟩⟩