QCRTGraph Real-Time Graphics Tools for Java
JPEG Images of some of the example programs that are included with the software. Click on the thumbnail image to view at actual size.
Instrumentation GUI and Graphics
Real-Time Financial Charting
Bio-Medical and Exercise Physiology
Laboratory and Industrial Data Acquisition and Control
The Real-Time Graphics Tools for Java charting toolkit, entirely written using Java, is for developers who want to add sophisticated real-time graphics to their Java applications and applets. The software integrates the QCChart2D charting software with real-time data structures and specialized rendering routines. It is designed for on-the-fly rendering of the real-time data using new specialized classes for scrolling graphs, gauges (bar graphs), meters, annunciators and text. Plot objects created using the QCChart2D classes can be freely mixed with the new Real-Time Graphics Tools for Java classes. Advanced user interface features such as zooming and tool-tips can used with real-time scrolling charts. A process variable class manages real-time data, an unlimited number of alarms, and data archiving. A PID (Proportional, Integral and Derivative) control class implements sophisticated control algorithms applicable in a wide array of applications. Real-Time displays can be sent to supported output devices at the resolution of the device, creating presentation quality printouts, slides, or transparencies.
Revision 2.0 adds scrolling support for elapsed time coordinate systems, vertical scrolling, a grid viewer for process variables, and a collection of “Auto” classes which simplify the creation of bar indicators, meters, dials, clocks, panel meters and scrolling graphs. Since QCRTGraph is built on top of the QCChart2D software, there are many new features associated with Revision 2.0 of the QCChart2D software.
Real-Time Graphics Tools for Java User Manual – View the QCRTGraph user manual using Adobe Acrobat.
Download Demo (850KB) * – Run the demo by right clicking the downloaded QCRTGraphJavaDemo.jar file and selecting Open With -> (your standard Java runtime environment, javaw or Java 2 Platform Standard Edition Library for example).
Download Trial Version (25MB) – Unzip the downloaded Trial_QCRTGraphJavalR2x0.zip file, preserving the directory structure. Run the Setup.jar program in the resulting \QCRTGraphJavaInstall directory using your standard Java runtime. Under Windows this can be done by right clicking the Setup.jar file and selecting Open With -> (your standard Java runtime environment, javaw or Java 2 Platform Standard Edition Library for example). This results in the software being installed in the \Quinn-Curtis directory. As a bare minimum read Chapters 1, 18 and 19 of the manual, \Quinn-Curtis\java\docs\QCRTGraphJavaManual.pdf. Chapter 18 will have usage information with respect to the Eclipse, JBuilder and JavaBeans Java IDEs. Post any questions you might have in the Quinn-Curtis Forum – QCRTGraph for Java.
*Requires that your target system has the Java 5.0 or 6.0 Runtime Environment installed. You can download the Java Runtime for free from Sun. Click Here !
Have any questions ? Contact: firstname.lastname@example.org
Related Quinn-Curtis Product
|QCChart2D||QCChart2D for .Net||QCChart2D for Win Apps||QCChart2D for WPF||QCChart2D for Java||QCChart2D for Android|
|QCRTGraph||QCRTGraph for .Net||QCRTGraph for Win Apps||QCRTGraph for WPF||QCRTGraph for Java||QCRTGraph for Android|
- Updates of data classes are asynchronous with rendering of graphics to the screen.
- Real-Time plot objects are derived from QCChart2D plot objects resulting in standardized methods for setting plot object properties.
- Any standard plot type from the QCChart2D software package, both simple and group plot types, can be implemented as scrolling graphs.
- There are no limits on the number of process variable channels, no limits on the number of alarm limits associated with a process variable, no limits on the number of real-time plots in a graph.
- The update of real-time objects will not interfere or overwrite other objects and will follow the z-order precedence established when the graph was created.
New Features added to Revision 2.0
- New scrolling support – for elapsed time coordinate systems
- Vertical scrolling – with auto-scaling for numeric, time/date and elapsed time coordinate system.
- A collection of UserControl based “Auto” classes – simplify the creation of bar indicators, meters, dials, clocks, panel meters and scrolling graphs.
- RTProcessVarViewer – a class for the grid-like display of process variable historical data in a table
- Includes the QCChart2D Charting Tools for .Net – The Real-Time Graphics Tools for .Net includes the complete QCChart2D Charting Tools for .Net.
- Visual Studio .Net 2005, 2008, 2010, 2012, 2013 and 2015 – Starting with Revision 2.0, we have eliminated support for Visual Studio .Net 2002 and Visual Studio .Net 2003. This way we no longer have to configure the libraries for the lowest common denominator of .Net, and can use new .Net features not found in original version. The software is compatible with Visual Studio .Net 2005, Visual Studio .Net 2008, and higher. All example program projects are in Visual Studio 2005 format, and automatically convert to Visual 2008 or 2010 format when loaded using that compiler.
- SharpDevelop – The software is also compatible with SharpDevelop 3.X and higher. SharpDevelop is a free IDE for C# and VB developers writing for the .Net platform.
- Windows 32-bit/64-bit Compatible – The software will run as 32-bit on Windows 32-bit operating systems (XP and later 32-bit versions of Windows) and as 64-bit on Windows 64-bit
- operating systems. This is a feature of programs and libraries written using .Net (Version 2.0 or greater) in general.
- Based on the .Net Drawing and Drawing2D API – Compatible with .Net components and applications.
- 100% Managed .Net Code – The software is entirely written in C#, resulting in provide better performance and scalability. Managed .Net code makes applications easier to deploy and maintain.
- Process Variable and Alarms – Real-time data is stored in RTProcessVar classes. The RTProcessVar class is designed to represent a single process variable, complete with limit values, an unlimited number of high and low alarms, historical data storage, and descriptive strings for use in displays.
|Clockwise from top: Solid bar indicator, segmented bar indicator, custom segmented bar indicator, horizontal solid bar indicator, segmented bar indicator with a multi-color gradient, and pointer indicator. Only the bars represent (and pointer) represent the bar indicators. Other items also shown include axes, axis labels, panel meters, and alarm indicators.|
|There are an infinite number of meter designs possible using a variety of meter arc ranges, meter scales, meter axes and meter indicator types|
- Single Value Indicators – A single value indicator is a real-time display object that is attached to a single RTProcessVar object. This includes single channel bar indicators (which includes solid, segmented, custom and pointer bar indicators), meter indicators (which includes meter needles, meter arcs and meter symbol indicators), single channel annunciator indicators, panel meter indicators and scrolling graph plots based on a QCChart2D SimplePlot chart object. The only limit to the number of annunciator cells you can have in an RTMultiValueAnnunciator graph is the size of the display and the readability of the text.
|The only limit to the number of annunciator cells you can have in an RTMultiValueAnnunciator graph is the size of the display and the readability of the text.|
|Each bar in the RTMultiBarIndicator can have individual colors and alarm limits|
|Multi-color gradients can be mapped to bars in the RTMultiBarIndicator|
|The RTGroupMultiValuePlot class turns QCChart2D GroupPlot objects, like the MultiLinePlot object above, into scrolling plots.|
- Multiple Value Indicators – A multiple value indicator is a real-time display object that is attached to a group of RTProcessVar objects. This includes multiple channel bar indicators (which includes solid, segmented, custom and pointer bar indicators), multiple channel annunciator indicators, panel meter indicators organized in a grid, and scrolling graph plots based on a QCChart2D GroupPlot chart object.
|The alarm indicators can have one of three forms: pointer style symbols, horizontal or vertical lines, or horizontal or vertical filled areas.|
- Alarm Indicators – Alarm indicators are used to display alarm lines, symbols and fill areas for the RTProcessVar objects associated with the single value and multiple value indicator classes.
|Numeric panel meters can be the primary display method for real-time data, or they can be used as adjuncts to other real-time indicators such as bar indicators and meters.|
- Panel Meter Indicators – The RTPanelMeter derived classes are special cases of the single value indicator classes that are used throughout the software to display real-time data in a text format. Panel meters are available for numeric values, string values, time/date values and alarm values. A useful benefit of multiple meter scales is the ability to display both Fahrenheit and Centigrade scales at the same time.
|A useful benefit of multiple meter scales is the ability to display both Fahrenheit and Centigrade scales at the same time.|
|Meter tick mark strings can be horizontal, parallel and perpendicular to the tick mark.|
- Meter Axis Objects – Meter indicators needed new classes to support the drawing of meter axes, meter axis labels and meter alarm objects.
|RTFormControlGrid objects are arranged in a row x column format. Additional panel meter objects (numeric and string panel meters in the track bar example above) can be attached to the primary control grid object.|
- Form Control Classes – The .Net Button and TrackBar objects have been subclassed and enhanced for use in instrument panels. The RTControlButton class implements on/off colors and on/off text for momentary, toggle and radio button style buttons. The RTTrackBar class adds real-world scaling based on double values to the integer based TrackBar class. RTControlButton and RTTrackBar objects can be group together in a grid, organizing the control objects functionally and visually.
|A display can have multiple scroll frames. The frames can be in separate plots and update in a synchronized fashion, or they can overlap the same plotting area.|
|A vertical scroll frame can manage a time/date, an elapsed time, or a numeric, vertical scrolling coordinate system.|
- Scroll Frame – A scroll frame manages constant rescaling of coordinate systems of plot objects that are displayed in a scrolling graph. Revision 2.0 adds a vertical scroll frame to the software.
|The RTAuto…Indicator objects can be placed directly on a .Net form.|
- RTAuto… Indicator Classes – New classes have been added to simplify the creation of bar indicators, meters, dials, clocks, panel meters and scrolling graphs. These classes encapsulate all of the elements needed to create a particular real-time indicator type: coordinate system, axes, axes labels, titles, process variable, alarms, and panel meters for numeric readouts and alarm status. The auto-indicator classes are setup as a self contained UserControl derived objects, placeable on a form, and can be modified using methods and properties.
|The RTProcessViewer grid displays the historical data for an RTProcessVar object|
- Process Variable Viewer – the RTProcessVarViewer class displays the historical data of a process variable in a grid like table.
- Documentation and Demo/Example Programs – The software includes a comprehensive 400 page user manual with many programming examples, XML help for every class. Every programming example, and example program is presented in C# and Visual Basic.
- Our license agreement can be found here.
- The QCRTGraph Developer License is available in a Developers Version (model # JAV-RTG-DEVR) that does not time out. Free updates for two years.
- The QCRTGraph Developer License is licensed to a single individual. It cannot be used by multiple people at the same company, unless a separate license is purchased for each person. Site licenses are also available. Contact email@example.com with details of how many seats you wish to purchase and we will respond with a quote.
- The QCRTGraph software does not use a redistributable license, unlike the previous versions (1.5, 1.6) of the software. The basic developer license permits you to include QCRTGraph as part of your application and distribute an unlimited number royalty free.
Real-Time Graphics Tools for Java Redistributable Licensing
- The QCRTGraph Software does not use a redistributable license, unlike the previous versions (1.5, 1.6) of the software. The basic developer license permits you to include QCRTGraph as part of your application and distribute an unlimited number of copies of your application, royalty free. We do not allow developers to use this software to create a graphics toolkit (a library or any type of graphics component that will be used in combination with a program development environment) for resale to other developers.
Real-Time Graphics Tools for Java Source Code
- The commented source code to the Real-Time Graphics Tools for Java charting software is now available. The source code is written entirely in Java. In can be compiled using the Eclipse development system compilers. It can be ordered using the model # JAV-RTG-SRC.
- Purchasers of the Real-Time Graphics Tools for Java source code must also own a valid Developers License, since all example programs, user manuals, and license files are installed as part of the Developer version of the software.
- The Real-Time Graphics Tools for Java source code includes the QCChart2D source code as a subset. There is no need to order the QCChart2D source code (JAV-CHT-SRC) in addition.
Custom Programming Services
- QCRTGraph is an extremely powerful and flexible software package. It contains over 1500 methods and properties in more than 150 classes. The user manual and help file documentation are more than 1500 pages. This can be overwhelming to the average programmer who wants to start programming today and have the prototype of an application working in a week.
- The variety of user interfaces for real-time graphics applications is as diverse as the industries using the software. The end-user of an application in the automotive industry expects to interact with the real-time display in a manner different than that of an end-user involved in real-time stock trading. The same can be said for other industries: health care, semiconductors, quality control, biotechnology, etc.
- That is why we have written so many outstanding example programs, pulled from a wide variety of industries using many different styles of user interface.
- We know that your application may be similar to, but still uniquely different from any of our example programs. To that end we offer our programming services to write for you a custom example program that demonstrates how to code the real-time display format and user interface you want. That jump start to your project can save you many weeks of work and make you look like a real-time graphics programming genius. All you have to be able to do is describe in detail what you want the example to do.
- Using QCRTGraph for Java, our expertise includes writing applications that can be run on workstations, and applets that can run in web browsers. For more information or a quote, please contact our sales department at firstname.lastname@example.org.
Doesn’t have the features you need ? Let us know what those are so we can add them in a subsequent release. Contact: email@example.com
The Real-Time Graphics Tools for Java includes the QCChart2D Charting Tools for Java. There is no need to order both.
|QCRTGraph Developer Software||JAV-RTG-DEVR||$300|
|QCRTGraph Source Code||JAV-RTG-SRC||$800|
|You must own JAV-RTG-DEVR to purchase Source Code|