Element Width 0 When Changing CSS Display

Hello
I have a webpage containing several Divs which contain individual 'pages'. I have defined the following CSS styles to control which the user sees:
.hideDiv{
    display: none;
.showDiv{
    display: inline;
I have a simple Javascript function which switched the CSS styles to display the required page:
function hideShow(hideDiv, showDiv){
          //alert("hideShow");
          if(document.getElementById(hideDiv)!=null){
                    document.getElementById(hideDiv).className = "hideDiv clear";
          if(document.getElementById(showDiv)!=null){
                    document.getElementById(hideDiv).className = "showDiv clear";
          return false;
Within each 'page' div are 1 or more simple tables containing images. The CSS on these tables positions them from the right like this:
<table style="position:absolute; right:40px; bottom:30px; z-index:1;">
          <tr><td>
                    <img src="{media}" alt="{mediaAlt}" style="display:block; position:relative;"/>
                    <p class="padCaption">{mediaCaption}</p>
          </td></tr>
</table>
When I display page 2 (the first page to have its CSS display property changed from 'none' to 'inline') the image is displayed off to the right and down too low. As soon as I slightly resize the browser window it jumps to the correct position.
I suspected that the browser was unable to ascertain the image's width and height and so assumes 0 pixels for both. This being the case the right and bottom edges were correctly positioned but only assuming the image has a width and height of 0 pixels!
I extended my Javascript function to check this and ,my thoughts were confirmed.
Fortunately (for once) our client has IE6 and this problem isn't seen by them. All of the elements in the complete html file apper to be cached when the page initially loads and it has no problem with the images.
We need to use Safari for some presentations and can't seem to resolve this. I tried positioning the div to one side and then moving it but it all happens before the UI updates and the browser is still none the wiser as to the dimensions of the image.
Any advice would be gratefully received.
Thanks
Chris

Hello Jon
Thanks for the prompt reply. Sorry I can't share the page but I can extract some elements to show. Each 'page' div is like this:
<!-- Page 1 -->
<div class="showDiv clear" id="page1">
    <div id="bgPic-components">
        <!-- Sub-Heading -->
        <h1>Sub-Heading</span></h1>
        <!-- Page Content Area -->
        <div class="contentTextArea fullWidth">
            <div style="position:absolute; width:280px; z-index:2;">
                <p>Some body text here.</p>
            </div>
            <table style="position:absolute; right:40px; bottom:40px; z-index:0;">
                <tr><td>
                    <img src="../../medialibrary/3DI/3DI0315.02.01.jpg" style="display:block; position:relative; height:440px;"/>
                    <p class="padCaption">Annotation</p>
                </td></tr>
            </table>
            <table style="position:absolute; bottom:24px; z-index:0;">
            <tr><td>
                <img src="../../medialibrary/photographs/P0825.01.01.jpg" alt="" style="display:block; position:relative; height:300px"/>
                <p class="padCaption">Annotation</p>
            </td></tr>
        </table>
        </div>
    </div>
</div>
Thanks
Chris

Similar Messages

  • Position of items in a region changes when changing region display point

    Hi all,
    I encounter a strange behaviour of items when changing the display point of a reports region from default (Page Template Body (3)) to anything else.
    If set to Body (3), my items are correctly displayed above the report, but else they are displayed below.
    Changing the sequence numbers does not affect this.
    To clarify what I mean I created a sample application:
    http://apex.oracle.com/pls/otn/f?p=16478:1
    Is there any possiblity to influence whether items in a reports region are displayed below or above the report table? - I did not find anything...
    TIA,
    Felix

    If you read the description of those other regions you'll clearly see "items below region content" rather than "items above region content", like the page template body region #3.
    This is one limitation of the ApEx region templates that some would like to see improved - meaning, allowing for more flexibility.
    Earl

  • Display  Pop up message when  changing and displaying sales orders?

    Hi Friends,
    My client requirement is to display text popup during change sales order VA02 , and  Display sales order VA03.
    Pls find me a answer for this , Thanks.
    Nina.T

    Hello Nina...
    Hope you are aware of the configurations you need to maintain for the Text determination.Anyway, herewith are the steps that may help you to accomplish your requirement.
    Text Determination procedure for sales document header:
    Text can be determined at sales document header level or it can be imported from customer master. The process is...
    Define Text types: Path: Imgsales and distributionbasic functionstext controldefine text types
    Select sales document header. click on text types go to new entries and define text types. For Eg:Z1
    Define Access sequence:
    Select sales document header
    Click on change icon
    Click on access sequence control button under dialog structure
    Go to new entries and define access sequence number with description.Ex: 55
    Save it and exit
    Define text determination procedure:
    Go to new entries
    Define text determination procedure.Ex: ZX save it and exit
    Assign text id's to text determination procedure:
    Select your text determination procedure(ZX)
    click on text id's in text procedure control button under dialog structure
    go to new entries and maintain entries. Text id:assign text id (Z1) that we defined in the previous step
    Specify sequence No-10
    Check Reference: this indicator specify that the text is reference or copies from preceding object
    Text in obligatory: text will be displayed during copying. the value of this field specifies whether text is obligatory or not and if it is obligatory the how it is to be displayed
    Apart from this... you also have to maintain the text in the Customer master as mentioned in the previous mail..
    Thanks,
    Safeer Rahman

  • My MBP with RD's Facetime camera freezes when changing portrait to landscape during facetime calls on the display of the person who i'm calling to, but it shows alright on my side, what's going on?

    My MBP with RD's Facetime camera freezes when changing portrait to landscape during facetime calls on the display of the person who i'm calling to, but it shows alright on my side, what's going on?
    Another thing is that on Skype, whenever i clicked to sharescreen it only show a complete black out window. nothing else.
    Tried restore OSX mountain lion, doesn't work. what should i do?

    kaeandcolesmon,
    If you open the recovery drive (partition) it should only have a single folder (Recovery).
    To make sure that your not saving restore points to that drive.
    See:
    Start, Control Panel, System, System Protection tab. Make sure the D drive partition is set to OFF so that it does not save there.
    I am a volunteer. I am not an HP employee.
    To say THANK YOU, press the "thumbs up symbol" to render a KUDO. Please click Accept as Solution, if your problem is solved. You can render both Solution and KUDO.
    The Law of Effect states that positive reinforcement increases the probability of a behavior being repeated. (B.F.Skinner). You toss me KUDO and/or Solution, and I perform better.
    (2) HP DV7t i7 3160QM 2.3Ghz 8GB
    HP m9200t E8400,Win7 Pro 32 bit. 4GB RAM, ASUS 550Ti 2GB, Rosewill 630W. 1T HD SATA 3Gb/s
    Custom Asus P8P67, I7-2600k, 16GB RAM, WIN7 Pro 64bit, EVGA GTX660 2GB, 750W OCZ, 1T HD SATA 6Gb/s
    Custom Asus P8Z77, I7-3770k, 16GB RAM, WIN7 Pro 64bit, EVGA GTX670 2GB, 750W OCZ, 1T HD SATA 6Gb/s
    Both Customs use Rosewill Blackhawk case.
    Printer -- HP OfficeJet Pro 8600 Plus

  • How do I Change sub category to a key word tag in Elements 6. When I right click the sub category is the possibility to change not selectable

    I want to change a sub category to a key word tag in Elements 6. When I right click the sub category is the possibility to change not selectable. How to do it?

    If you want to change the category you need to change the feed, which means changing it in WordPress. You need to pick one category and, if there is one, one sub-category from the official list here:
    http://www.apple.com/itunes/podcasts/specs.html#categories
    It is possible to have further categories, though I don't know whether WordPress will allow that, but you should put the most relevant one in first.
    Once you've amended it simply re-upload the feed and wait for the Store to catch up. You don't need to resubmit.

  • Game freezes when changing displays

    Hi all
    i am using Nokia 3510i.
    i have a wired problem,sometimes when i change then display object in my game(2 Canvases) and in the same time i press on some keys(i am using a key listener for my game) everything freezes and i have to close my MIDlet .
    now,i solved this by using a boolean flag in the :
    keyPressed(int parm1) {
    if(bRejectKeys) return;
    and i set it before replacing the displays and then nothing freezes.
    but i want to know why everything was freezing before,if this is a known issue and if my solution is not covering a bigger bug that might happen.
    thanks

    It's tough to tell by your description what exactly is going on.
    Are you starting any threads in keyPressed()? Maybe one of those threads needs to be stopped by the canvas that turned inactive. Are there any live references to the old canvas after the switch?
    Maybe with some more code (the rest of the offending keyPressed(), and the code that switches the displays) we can shed some more light on the subject.
    shmoove

  • New document - changing the displayed unit in width/height?

    Hi all,
    Sorry for this basics question relating to InDesign CS5...
    When creating a new document, with a custom size, the default size is showing as XXp00 - I don't know what the 'p' means nor it's relation to other units such as cm or mm.
    Is there a way for the default to be cm, or mm?

    XXpYY is the established convention for displaying picas (6th of an inch) and points (12th of a pica). 3p0 is 3 picas,0 points, or half an inch. 13p6 is 13 picas, 6 point, or 2.25 inches.
    You can type any units you like in any dialogue or panel and InDesign will handle the conversion to the currently displayed units. If you want a page 14 inches wide, just type 14" and InDesign will accept that and display it as 84p0.
    You cannot change the default units while a modal dialogue (like New Document) is open. You can change the default units in Preferences. You can also change the displayed units in the current document by right-clicking on the ruler. Each ruler remembers its own units, so either change the units for both rulers or right-click on the intersection of the rulers at the top left of the window.

  • Why I can not change the display when I turn the Ipad from horizontal to vertical position ?

    Please help to give me the guide line to solve the problem in my Ipad
    I can not change the display when I move the ipad from horizontal position to vertical position

    Have you got a lock symbol at the top of the screen next to the battery indicator ? If so, then depending on what you've got Settings > General > Use Side Switch To set to (mute or rotation lock), then you can lock rotation either by the switch on the right hand side of the iPad, or via the taskbar : double-click the home button; slide from the left; and it's the icon; press home again to exit the taskbar. The function that isn't on the side switch is set via the taskbar instead : http://support.apple.com/kb/HT4085
    If there is no lock symbol then try a reset and see if rotates after the iPad has restarted : press and hold both the sleep and home buttons for about 10 to 15 seconds (ignore the red slider), after which the Apple logo should appear - you won't lose any content, it's the iPad equivalent of a reboot.

  • [svn:osmf:] 14801: Fixed proxied elements not getting container change events.

    Revision: 14801
    Revision: 14801
    Author:   [email protected]
    Date:     2010-03-16 17:05:06 -0700 (Tue, 16 Mar 2010)
    Log Message:
    Fixed proxied elements not getting container change events.  Fixed NPE encountered when testing surrounding null proxiedElements. 
    Modified Paths:
        osmf/trunk/framework/OSMF/org/osmf/elements/LoadFromDocumentElement.as
        osmf/trunk/framework/OSMF/org/osmf/elements/ProxyElement.as
        osmf/trunk/framework/OSMF/org/osmf/elements/proxyClasses/ProxyMetadata.as

    Sorry about that. I am not exactly sure where the problem is, but I know it takes place after I put the <nav> in (in the html portion). If I understand what I am learning, the CSS at the top will structure my html code so I would have thought the CSS tageting my nav would be the focus. Maybe it is a different section though.
    CSS part:
    nav p {
    font-size: 90%;
    color: #FFC;
    text-align: right;
    font-weight: bold;
    background-color: #090;
    padding-top: 5px;
    padding-right: 20px;
    padding-bottom: 5px;
    border-top-width: 2px;
    border-top-style: solid;
    border-top-color: #060;
    HTML part: (bold italic is the part I added)
    <body>
    <div class="container">
      <div id="apDiv1"><img src="Lessons/images/butterfly-ovr.png" width="170" height="158" alt="GreenStart Logo"></div>
      <header></header>
      <nav>
        <p>Home | About Us | Contact Us</p>
      </nav>
      <div class="sidebar1">
        <ul class="nav">
          <li><a href="#">Green News</a></li>
          <li><a href="#">Green Products</a></li>
          <li><a href="#">Green Events</a></li>
          <li><a href="#">Green Travel</a></li>
          <li><a href="#">Green Tips</a></li>
        </ul>

  • How to change external display resolution WITHOUT clicking "CONFIRM"?

    I have a somewhat unusual situation. My MacBook laptop is actually now a ModBook (a pen-tablet computer), and as such I no longer have a trackpad attached to it. All of my inputs are via the stylus, tapping directly on the built-in display.
    This works perfectly fine, except when I need to give presentations on an LCD projector (which is quite often lately). I like to use the projector as an external monitor, so that I can run the Keynote presentation on it while using my laptop screen as the presenter's display, with the upcoming slide, etc. If the projector doesn't give me an ideal native display option (sometimes, the aspect ratio for the  3 or 4 resolutions available in the Displays drop-down in the menubar turn out to be stretched or squeezed), then I, naturally, have to open the Display System Preferences and try out different resolutions.
    The problem is, since my stylus only interacts by clicking directly on the built-in-display, I have no way of moving the cursor over to the external display when the dialog box with the "Click here to confirm change/You have 15 seconds..." message appears. So I can never click it ... so I can never confirm the new settings.
    The workarounds I've used so far are:
    - Mirror displays (not ideal, as I need the presenter preview of the next slide)
    - borrow a mouse from someone (usually from a Windows desktop, frankly) and plug that in to briefly mouse over and click the confirm button
    I'd love to find a software workaround that allows me to NOT mirror displays and also doesn't require me to carry around a mouse all the time (my laptop bag is already overstuffed...).
    Thanks.

    Fateh wrote:
    I hope that my question is clear ... Nope.
    How to change the display resolution of APEX ??APEX doesn't have a display resolution. "Display resolution" is an attribute of the device and user agent software used to view the APEX page.
    What do you mean by "the display resolution of APEX"?
    In other word, if an end user sees large elements on a pageWhat "large elements"?
    then he/she zooms it outHow?
    "Zooms" what&mdash;the entire page or a single "large element"?
    How can I set a proper ZOOM for my app by default ...Meaning what?
    And as usual, we're missing:
    <li>Full APEX version
    <li>Full DB/version/edition/host OS
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s)
    You've been posting here for years. You know this basic information is necessary to understand and reproduce problems.
    If you're looking for help it doesn't seem unreasonable that you make the effort to provide a full, clear but concise description of the problem or requirement.

  • How to add b tags in your XML when changing style to Bold

    I'm currently checking if there is an easier way to automatically add <b> tags when changing font style to Bold in your xml. I'm not sure how to override the format  of a structured application automatically in FM. Do I need to create a script for this? Or is there any configuration that can be made to make this work automatically?

    Most of the discussion on this thread has dealt with the relevance of the Bold button on FrameMaker's Text Formatting toolbar to structured documents.
    While someone made the suggestion to create a <b> element and then insert text within the new element, I don't think anyone has yet commented on how easy it is to wrap an element (<b> or another element) around existing content. You can do so with the Element Catalog. Simply select the content to be wrapped and double-click the tag of the new element (e.g., b) in the Element Catalog. Or click the tag in the Element Catalog and then the Wrap button at the bottom of the Catalog.
    If you prefer to use the keyboard, you can use what is called Smart Insert in FM 11 and quick keys in earlier versions. The first three buttons at the bottom of the Element Catalog window are Insert, Wrap, and Change. You don't need to have the Catalog open to use Smart Insert. I mentioned the buttons only because that order is pretty easy to remember--1. Insert, 2. Wrap, 3. Change. The keyboard shortcuts Ctrl-1, Ctrl-2, and Ctrl-3 bring up the Smart Insert or Quick Keys to Insert, Wrap, or Change an element. With Smart Insert, a pop-up menu appears that shows the available elements. You can use the up and down arrow keys to navigate to the one you want, or type a unique prefix. Then press Enter to perform the operation (or Esc to cancel). With Quick Keys, the left side of the status bar at the bottom of the document window or Structure View (whichever is current) will prompt for the element tag with I: for Insert, W: for Wrap or C: for Change. Again, use the arrow keys or a prefix to display the desired element tag and then press Enter.
    So, to create a new <b> element to hold an existing string, select the string, type Ctrl-2 b, and press Enter.
    That said, I will close with an observation on the use of format overrides in structured documents. While automatic formatting based on element structure is the heart of structured FM, the software was deliberately designed in recognition that as a practical matter it is sometimes necessary for an author to create formatting that the document's element definitions simply do not provide. It therefore allows the user to tweak the formatting (for example, by deliberating making some content bold without using the element structure to do so). Users should understand the difference between element-based formatting and format overrides and use the latter with care if at all.
         --Lynne

  • How to change css of f:selectItems

    Hello
    I am not able to change the css of f:selectItems inside rich:select. I can change CSS of rich:Select successfully unfortunately I do fail when I try to change f:selectItem. You can see the code.. Any help will be appreciated.
    Best Regards
    Altaico
    <code>
    <h:panelGroup styleClass="mySelectStyle" rendered="#{loginBean.isAuthorize('sigorta') or loginBean.isAuthorize('admin')}" >
    <rich:select id="kurumList" enableManualInput="true"
    value="#{loginBean.islemYapilanKurum.kurumKodu}"
    defaultLabel=" " rendered="#{not empty kurumListTemp}" styleClass="mySelectStyle" >
    <f:selectItems value="#{kurumListTemp}" var="k"
    itemLabel="#{k.kurumAdi}" itemValue="#{k.kurumKodu}" styleClass="mySelectStyle" />
    <f:ajax event="change" render="toolbar" listener="#{loginBean.kurumAta}"/>
    </rich:select>
    </h:panelGroup>
    </code>

    Yes, if you would check the JSF specifications or any result you get by searching google for 'jsf tags' you would see that f:selectItem in fact does not support a styleClass attribute. In stead of just guessing - look up specs and know. Surely that is not a weird concept to you?
    But then you're using Richfaces - and this is not a Richfaces forum. But I'm a nice guy (really!) so I check the Richfaces manual for you - which you could have done yourself. And then I see that the rich:comboBox element supports an 'itemClass', an 'itemSelectedClass' and a 'listClass' attribute. 2 minutes of work. Might be worth investigating.
    Good luck.

  • Bulk Edit Element Width

    I am using APEX 4.0.2  I have created several pages worth tabular forms to do various entry for hours in a sort of timesheet application.  My problem is the columns are too wide and cause the form to stretch far off the page. 
    The only way for me to change the column width is to change the element width which defaults to 16.  Adding a column width or changing CSS does nothing.  Is there a way to bulk edit the element width?  Having to click into hundreds of columns and manually edit them is extremely tedious. 
    Thanks.

    No errors were detected.  The source is several hundred lines long, but an individual cell for instance shows this:
    <input type="text" name="f01" size="16" maxlength="2000" value="25"  id="f01_0001" />
    There are 1040 such cells on this page alone.  20 rows x 52 weeks. 

  • Error when trying to Display WSDL for Sender Agreement

    Hi,
    I'm getting an error when trying to display WSDL for a sender agreement. The error message is as follows:
    Adapter Engine af.xxx.yyy for communication channel not registered in SLD Unable to find the SLD element (SAP_XIAdapterFramework, [CreationClassName, SAP_XIAdapterFramework, string, Name, af.xxx.yyy, string], [AdapterType, SOAP, string])
    The SOAP adapter being used is from the non-central AE. I I immediately checked for inconsistent SLD components per note 746176 but everything is in order there. I tried re-registering manually the non-central AE manually as well.
    Anyone else ever had the same error? Any hints much appreciated!

    Hi Luqman,
    go to the sender channel and replace the Adapter Type.
    Select the type as SOAP from SWCV SAP BASIS 7.xx or SAP BASIS 3.0
    The channel is referring to a swcv which is not present in esr.
    As you might know, the adapter metadata is fetched from ESR/IR, so if the SWCV containing the metadata inside namespace http://sap.com/xi/XI/System etc, is not available then it will throw error.
    If you do not want to change the Adapter Type in the channel, import the swcv from SLD to ESR and create/import the respective adapter metadata.
    Should resolve your issue.
    Cheers!
    Souvik

  • QuantumToolkit taking up 100% of CPU when no CSS is loaded

    All
    Our application has a simple TableView that takes an incoming server object and displays it for the user. When it receives a similar object the model will attempt to find the previous object and update one or two cells with new status values. Nothing taxing one would think. I have turned off the CSS so we are using the default. We also have Platform.runLater in our model so when we are about to update the GUI that takes place.
    The application functions correctly, but when ramping up the inserts to say 1 every second we see a slow down in the application. The application does function but response it slow when clicking on drop down menus etc. I have attached a profiler stack trace. And we saw that the QuantumToolkit seems to be doing all of the work. Any ideas on how we can trace if further.
    Our object is very simple in that we have some properties that are used to show updates to the row when changed. Most of the fields that need to be updated are set using SimpleDoubleProperty or StringProperty etc.
    Apologies for the formatting, this was exported from the profiler.
    Call tree (all threads together)
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+
    |                                                                              Name                                                                              |    Time (ms)    |  Own Time (ms)  |
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+
    |  +---<All threads>                                                                                                                                             |  77,931  100 %  |                 |
    |    |                                                                                                                                                           |                 |                 |
    |    +---com.sun.javafx.tk.quantum.QuantumToolkit$8.run()                                                                                                        |  71,251   91 %  |            182  |
    |    | |                                                                                                                                                         |                 |                 |
    |    | +---javafx.scene.Scene$ScenePulseListener.pulse()                                                                                                         |  71,009   91 %  |              0  |
    |    | | |                                                                                                                                                       |                 |                 |
    |    | | +---javafx.scene.Scene.access$3000(Scene)                                                                                                               |  66,294   85 %  |              0  |
    |    | | | |                                                                                                                                                     |                 |                 |
    |    | | | +---javafx.scene.Scene.doLayoutPass()                                                                                                                 |  66,294   85 %  |              0  |
    |    | | |   |                                                                                                                                                   |                 |                 |
    |    | | |   +---javafx.scene.Scene.layoutDirtyRoots()                                                                                                           |  66,294   85 %  |              0  |
    |    | | |     |                                                                                                                                                 |                 |                 |
    |    | | |     +---javafx.scene.Parent.layout()                                                                                                                  |  66,294   85 %  |              0  |
    |    | | |       |                                                                                                                                               |                 |                 |
    |    | | |       +---javafx.scene.Parent.layout()                                                                                                                |  65,188   84 %  |              0  |
    |    | | |       | |                                                                                                                                             |                 |                 |
    |    | | |       | +---javafx.scene.Parent.layout()                                                                                                              |  65,144   84 %  |              0  |
    |    | | |       | | |                                                                                                                                           |                 |                 |
    |    | | |       | | +---javafx.scene.Parent.layout()                                                                                                            |  65,144   84 %  |              0  |
    |    | | |       | |   |                                                                                                                                         |                 |                 |
    |    | | |       | |   +---javafx.scene.Parent.layout()                                                                                                          |  59,823   77 %  |              0  |
    |    | | |       | |   | |                                                                                                                                       |                 |                 |
    |    | | |       | |   | +---com.sun.javafx.scene.control.skin.VirtualFlow.layoutChildren()                                                                      |  52,938   68 %  |             20  |
    |    | | |       | |   | | |                                                                                                                                     |                 |                 |
    |    | | |       | |   | | +---javafx.scene.control.Control.impl_processCSS(boolean)                                                                             |  44,568   57 %  |              0  |
    |    | | |       | |   | | | |                                                                                                                                   |                 |                 |
    |    | | |       | |   | | | +---javafx.scene.Parent.impl_processCSS(boolean)                                                                                    |  44,568   57 %  |              0  |
    |    | | |       | |   | | |   |                                                                                                                                 |                 |                 |
    |    | | |       | |   | | |   +---javafx.scene.Parent.impl_processCSS(boolean)                                                                                  |  30,346   39 %  |              0  |
    |    | | |       | |   | | |   | |                                                                                                                               |                 |                 |
    |    | | |       | |   | | |   | +---javafx.scene.control.Control.impl_processCSS(boolean)                                                                       |  30,182   39 %  |              0  |
    |    | | |       | |   | | |   | | |                                                                                                                             |                 |                 |
    |    | | |       | |   | | |   | | +---javafx.scene.Parent.impl_processCSS(boolean)                                                                              |  30,182   39 %  |              0  |
    |    | | |       | |   | | |   | |   |                                                                                                                           |                 |                 |
    |    | | |       | |   | | |   | |   +---javafx.scene.Node.impl_processCSS(boolean)                                                                              |  26,135   34 %  |              0  |
    |    | | |       | |   | | |   | |   | |                                                                                                                         |                 |                 |
    |    | | |       | |   | | |   | |   | +---com.sun.javafx.css.StyleHelper.transitionToState(Node)                                                                |  25,492   33 %  |            762  |
    |    | | |       | |   | | |   | |   | | |                                                                                                                       |                 |                 |
    |    | | |       | |   | | |   | |   | | +---javafx.scene.control.Control$12.set(String)                                                                         |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | | |                                                                                                                     |                 |                 |
    |    | | |       | |   | | |   | |   | | | +---com.sun.javafx.css.StyleableStringProperty.set(String)                                                            |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |   |                                                                                                                   |                 |                 |
    |    | | |       | |   | | |   | |   | | |   +---javafx.beans.property.StringPropertyBase.set(String)                                                            |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |     |                                                                                                                 |                 |                 |
    |    | | |       | |   | | |   | |   | | |     +---javafx.beans.property.StringPropertyBase.markInvalid()                                                        |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |       |                                                                                                               |                 |                 |
    |    | | |       | |   | | |   | |   | | |       +---javafx.scene.control.Control$12.invalidated()                                                               |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |         |                                                                                                             |                 |                 |
    |    | | |       | |   | | |   | |   | | |         +---javafx.scene.control.Control.access$500(Control)                                                          |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |           |                                                                                                           |                 |                 |
    |    | | |       | |   | | |   | |   | | |           +---javafx.scene.control.Control.loadSkinClass()                                                            |  24,092   31 %  |            102  |
    |    | | |       | |   | | |   | |   | | |             |                                                                                                         |                 |                 |
    |    | | |       | |   | | |   | |   | | |             +---java.lang.reflect.Constructor.newInstance(Object[])                                                   |  20,791   27 %  |          4,752  |
    |    | | |       | |   | | |   | |   | | |             | |                                                                                                       |                 |                 |
    |    | | |       | |   | | |   | |   | | |             | +---javafx.scene.Node.addEventHandler(EventType, EventHandler)                                          |   2,848    4 %  |              0  |
    |    | | |       | |   | | |   | |   | | |             | |                                                                                                       |                 |                 |
    |    | | |       | |   | | |   | |   | | |             | +---javafx.scene.layout.StackPane.<init>()                                                              |   1,982    3 %  |              0  |
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+
    Generated by YourKit Java Profiler 10.0.6 Feb 27, 2012 11:41:24 AM

    HEre is an attempt at a test class. If you run it click start data add, then start updater it simulates the traffic coming from our server. When you start clicking on the qty buttons you see a delay as the amounts increase. If you click stop , then the GUi is okay
    package test;
    import java.util.Date;
    import java.util.Random;
    import java.util.concurrent.atomic.AtomicInteger;
    import javafx.application.Application;
    import javafx.application.Platform;
    import javafx.beans.property.SimpleDoubleProperty;
    import javafx.beans.property.SimpleIntegerProperty;
    import javafx.beans.property.SimpleObjectProperty;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Pos;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.TableCell;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableColumn.SortType;
    import javafx.scene.control.TableView;
    import javafx.scene.control.TextField;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.HBox;
    import javafx.scene.layout.VBox;
    import javafx.scene.paint.Color;
    import javafx.stage.Stage;
    import javafx.util.Callback;
    public class TestApplication extends Application {
         private TableView<OrderDataTableNewRow> exchangesTable = new TableView<OrderDataTableNewRow>();
         static ObservableList<OrderDataTableNewRow> data  = FXCollections.observableArrayList();
         @Override
         public void start(final Stage stage) throws Exception {
              final VBox rootPane = new VBox();
              rootPane.setSpacing(10);
              rootPane.setPrefSize(800, 600);
              TableColumn<OrderDataTableNewRow, String> clOrderIdCol = new TableColumn<OrderDataTableNewRow, String>("ClOrderId");
              clOrderIdCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.CLORDERID_PROPERTY));
              clOrderIdCol.setSortable(true);
              clOrderIdCol.setPrefWidth(130);
              TableColumn<OrderDataTableNewRow, String> exchangeCol = new TableColumn<OrderDataTableNewRow, String>("Exchange");
              exchangeCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.EXCHANGE_PROPERTY));
              exchangeCol.setSortable(true);
              exchangeCol.setPrefWidth(65);
              TableColumn<OrderDataTableNewRow, String> securityCodeCol = new TableColumn<OrderDataTableNewRow, String>("Security");
              securityCodeCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.SECURITY_CODE_PROPERTY));
              securityCodeCol.setSortable(true);
              securityCodeCol.setPrefWidth(70);
              TableColumn<OrderDataTableNewRow, OrderType> orderTypeCol = new TableColumn<OrderDataTableNewRow, OrderType>("Type");
              orderTypeCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,OrderType>(OrderDataTableNewRow.ORDERTYPE_PROPERTY));
              orderTypeCol.setSortable(true);
              orderTypeCol.setPrefWidth(70);
              TableColumn<OrderDataTableNewRow, SideEnum>  sideCol = new TableColumn<OrderDataTableNewRow, SideEnum>("Side");
              sideCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, SideEnum>(OrderDataTableNewRow.SIDE_PROPERTY));
              sideCol.setSortable(true);
              sideCol.setPrefWidth(65);
              TableColumn<OrderDataTableNewRow, Double> priceCol = new TableColumn<OrderDataTableNewRow, Double>("Price");
              priceCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Double>(OrderDataTableNewRow.PRICE_PROPERTY));
              priceCol.setSortable(true);
              priceCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, Integer> qtyCol = new TableColumn<OrderDataTableNewRow, Integer>("Qty");
              qtyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Integer>(OrderDataTableNewRow.QTY_PROPERTY));
              qtyCol.setSortable(true);
              qtyCol.setPrefWidth(75);
              TableColumn<OrderDataTableNewRow, Double> lastPxCol = new TableColumn<OrderDataTableNewRow, Double>("LastPx");
              lastPxCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Double>(OrderDataTableNewRow.LAST_PX_PROPERTY));
              lastPxCol.setSortable(true);
              lastPxCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, Integer> lastQtyCol = new TableColumn<OrderDataTableNewRow, Integer>("LastQty");
              lastQtyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Integer>(OrderDataTableNewRow.LAST_QTY_PROPERTY));
              lastQtyCol.setSortable(true);
              lastQtyCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, Double> avgPxCol = new TableColumn<OrderDataTableNewRow, Double>("AvgPx");
              avgPxCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Double>(OrderDataTableNewRow.AVG_PX_PROPERTY));
              avgPxCol.setSortable(true);
              avgPxCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, Integer> cumQtyCol = new TableColumn<OrderDataTableNewRow, Integer>("CumQty");
              cumQtyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Integer>(OrderDataTableNewRow.CUM_QTY_PROPERTY));
              cumQtyCol.setSortable(true);
              cumQtyCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, Integer> leavesQtyCol = new TableColumn<OrderDataTableNewRow, Integer>("Leaves");
              leavesQtyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Integer>(OrderDataTableNewRow.LEAVES_QTY_PROPERTY));
              leavesQtyCol.setSortable(true);
              leavesQtyCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, String> accountCol = new TableColumn<OrderDataTableNewRow, String>("Account");
              accountCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.ACCOUNT_PROPERTY));
              accountCol.setSortable(true);
              accountCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, String> brokerCol = new TableColumn<OrderDataTableNewRow, String>("Broker");
              brokerCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.BROKER_PROPERTY));
              brokerCol.setSortable(true);
              brokerCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, String> traderCol = new TableColumn<OrderDataTableNewRow, String>("Trader");
              traderCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.TRADER_PROPERTY));
              traderCol.setSortable(true);
              traderCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, OrderStatus> orderStatusCol = new TableColumn<OrderDataTableNewRow, OrderStatus>("OrderStatus");
              orderStatusCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, OrderStatus>(OrderDataTableNewRow.ORDER_STATUS_PROPERTY));
              orderStatusCol.setSortable(true);
              orderStatusCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, ExecutionType> executionTypeCol = new TableColumn<OrderDataTableNewRow, ExecutionType>("ExecType");
              executionTypeCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, ExecutionType>(OrderDataTableNewRow.EXECUTION_TYPE_PROPERTY));
              executionTypeCol.setSortable(true);
              executionTypeCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, Date> expiryCol = new TableColumn<OrderDataTableNewRow, Date>("Expiry");
              expiryCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, Date>(OrderDataTableNewRow.EXPIRY_PROPERTY));
              expiryCol.setSortable(true);
              expiryCol.setPrefWidth(85);
              TableColumn<OrderDataTableNewRow, String> currencyCol = new TableColumn<OrderDataTableNewRow, String>("Currency");
              currencyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.CURRENCY_PROPERTY));
              currencyCol.setSortable(true);
              currencyCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, String> messageCol = new TableColumn<OrderDataTableNewRow, String>("Text");
              messageCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.TEXT_PROPERTY));
              messageCol.setPrefWidth(140);
              TableColumn<OrderDataTableNewRow, String> giveUpCol = new TableColumn<OrderDataTableNewRow, String>("GiveUp");
              giveUpCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.GIVEUP_PROPERTY));
              giveUpCol.setSortable(true);
              giveUpCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, String> giveInCol = new TableColumn<OrderDataTableNewRow, String>("GiveIn");
              giveInCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.GIVEIN_PROPERTY));
              giveInCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, Date> createdCol = new TableColumn<OrderDataTableNewRow, Date>("Updated");
              createdCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, Date>(OrderDataTableNewRow.UPDATED_PROPERTY));
              createdCol.setSortable(true);
              createdCol.setMinWidth(190);
              createdCol.setSortType(SortType.DESCENDING);
              // Setup all the renders
              Callback<TableColumn<OrderDataTableNewRow,String>, TableCell<OrderDataTableNewRow,String>> defaultStringRenderFactory =
                        new Callback<TableColumn<OrderDataTableNewRow,String>, TableCell<OrderDataTableNewRow,String>>() {
                   public TableCell<OrderDataTableNewRow,String> call(TableColumn<OrderDataTableNewRow,String> p) {
                        return new StringFormatCell<OrderDataTableNewRow>(Pos.CENTER);
              Callback<TableColumn<OrderDataTableNewRow, SideEnum>, TableCell<OrderDataTableNewRow, SideEnum>> defaultSideCellFactory =
                        new Callback<TableColumn<OrderDataTableNewRow, SideEnum>, TableCell<OrderDataTableNewRow, SideEnum>>() {
                   public TableCell<OrderDataTableNewRow, SideEnum> call(TableColumn<OrderDataTableNewRow, SideEnum> p) {
                        return new SideFormatCell<OrderDataTableNewRow>();
              Callback<TableColumn<OrderDataTableNewRow, OrderStatus>, TableCell<OrderDataTableNewRow, OrderStatus>> orderStatusCellFactory =
                        new Callback<TableColumn<OrderDataTableNewRow, OrderStatus>, TableCell<OrderDataTableNewRow, OrderStatus>>() {
                   public TableCell<OrderDataTableNewRow, OrderStatus> call(TableColumn<OrderDataTableNewRow, OrderStatus> p) {
                        return new OrderStatusFormatCell<OrderDataTableNewRow>();
              Callback<TableColumn<OrderDataTableNewRow, OrderType>, TableCell<OrderDataTableNewRow, OrderType>> orderTypeCellFactory =
                        new Callback<TableColumn<OrderDataTableNewRow, OrderType>, TableCell<OrderDataTableNewRow, OrderType>>() {
                   public TableCell<OrderDataTableNewRow, OrderType> call(TableColumn<OrderDataTableNewRow, OrderType> p) {
                        return new OrderTypeFormatCell<OrderDataTableNewRow>(null);
              clOrderIdCol.setCellFactory(defaultStringRenderFactory);
              exchangeCol.setCellFactory(defaultStringRenderFactory);
              securityCodeCol.setCellFactory(defaultStringRenderFactory);
              orderTypeCol.setCellFactory(orderTypeCellFactory);
              sideCol.setCellFactory(defaultSideCellFactory);
              orderStatusCol.setCellFactory(orderStatusCellFactory);
              accountCol.setCellFactory(defaultStringRenderFactory);
              brokerCol.setCellFactory(defaultStringRenderFactory);
              traderCol.setCellFactory(defaultStringRenderFactory);
              currencyCol.setCellFactory(defaultStringRenderFactory);
              messageCol.setCellFactory(defaultStringRenderFactory);
              this.exchangesTable.setItems(data);
              this.exchangesTable.setTableMenuButtonVisible(true);
              ObservableList<TableColumn<OrderDataTableNewRow, ?>> columns = this.exchangesTable.getColumns();
              columns.addAll(clOrderIdCol, exchangeCol, securityCodeCol, orderTypeCol, sideCol, priceCol, qtyCol, orderStatusCol, lastQtyCol, lastPxCol, avgPxCol, cumQtyCol, leavesQtyCol, executionTypeCol, accountCol, brokerCol, traderCol, expiryCol, currencyCol, giveUpCol, giveInCol, messageCol, createdCol);
              //Layout
              final HBox hbox = new HBox();
              Button updaterButton = new Button("START_UPDATER");
              Button inserterButton = new Button("START_DATA_ADD");
              Button stopButton = new Button("STOP");
              final TextField qtyField = new TextField();
              Button tenButton = new Button("10");
              Button twentyButton = new Button("20");
              Button fiveButton = new Button("5");
              Button threeButton = new Button("3");
              hbox.setSpacing(3);
              hbox.getChildren().addAll(updaterButton, inserterButton, stopButton, qtyField, tenButton, twentyButton, fiveButton, threeButton);
              tenButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        qtyField.clear();
                        qtyField.setText("10");
              twentyButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        qtyField.clear();
                        qtyField.setText("20");
              fiveButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        qtyField.clear();
                        qtyField.setText("5");
              threeButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        qtyField.clear();
                        qtyField.setText("3");
              final AtomicInteger counter = new AtomicInteger();
              final Thread runner = new Thread() {
                   // runnable for that thread
                   public void run() {
                        while(true) {
                             try {
                                  // imitating work
                                  Thread.sleep(new Random().nextInt(100));
                             } catch (InterruptedException ex) {
                                  ex.printStackTrace();
                             // update ProgressIndicator on FX thread
                             Platform.runLater(new Runnable() {
                                  public void run() {
                                       int andIncrement = counter.getAndIncrement();
                                       long orderId = andIncrement;
                                       String clOrderId = andIncrement+"CL";
                                       String exchange = "XEUR";
                                       String code = "ES";
                                       int nextEnumRand = new Random().nextInt(SideEnum.values().length);
                                       SideEnum side = SideEnum.values()[nextEnumRand];
                                       int nextTypeEnumRand = new Random().nextInt(OrderType.values().length);
                                       OrderType orderType = OrderType.values()[nextTypeEnumRand];
                                       int nextSecEnumRand = new Random().nextInt(SecurityType.values().length);
                                       SecurityType securityType =  SecurityType.values()[nextSecEnumRand];
                                       String currency = "USD";
                                       Date expiry = new Date();
                                       double price = 92.22;
                                       int qty =10;
                                       String account = "ACCOUNT";
                                       String broker = "BROKER";
                                       String trader = "TRaDER";
                                       OrderDataTableNewRow tableRow =  new OrderDataTableNewRow(orderId, clOrderId, exchange, code, side, orderType, securityType, currency, expiry, price, qty, account, broker, trader);
                                       System.out.println("Adding row "+tableRow);
                                       data.add(tableRow);
              final Thread updater = new Thread() {
                   // runnable for that thread
                   public void run() {
                        while(true) {
                             try {
                                  // imitating work
                                  Thread.sleep(new Random().nextInt(100));
                             } catch (InterruptedException ex) {
                                  ex.printStackTrace();
                             // update ProgressIndicator on FX thread
                             Platform.runLater(new Runnable() {
                                  public void run() {
                                       int andIncrement = counter.get();
                                       int nextInt = new Random().nextInt(andIncrement);
                                       OrderDataTableNewRow tableRow = data.get(nextInt);
                                       System.out.println("Updating row "+tableRow);
                                       int nextEnumRand = new Random().nextInt(OrderStatus.values().length);
                                       OrderStatus randDomStatus = OrderStatus.values()[nextEnumRand];
                                       tableRow.setOrderStatus(randDomStatus);
                                       tableRow.setUpdated(new Date());
              updaterButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        updater.start();
              inserterButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        runner.start();
              stopButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        runner.stop();
                        updater.stop();
              String defaultCssStyleResource = this.getClass().getResource("style_blue.css").getFile();
              this.exchangesTable.prefWidthProperty().bind(rootPane.widthProperty());
              this.exchangesTable.prefHeightProperty().bind(rootPane.heightProperty());
              rootPane.getChildren().addAll(hbox, exchangesTable);
              Scene scene = new Scene(rootPane, 400, 400, Color.WHITE); 
              scene.getStylesheets().add(defaultCssStyleResource);
              stage.setResizable(true);
              stage.setScene(scene);
              stage.show();
         enum SideEnum {
              BUY,
              SELL
         enum SecurityType {
              STOCK,
              BOND,
              FUTURE
         enum OrderType {
              LIMIT,
              MARKET,
              STOP
         enum OrderStatus {
              EXECUTED,
              PENDING,
              FILLED,
              CANCELLED,
              WORKING,
              PENDINGNEW
         enum ExecutionType {
              EXECUTED,
              FILLED,
              CANCELLED,
         public static void main(String[] args) {
              Application.launch(TestApplication.class, args);
         public class OrderDataTableNewRow  {
              public static final String CLORDERID_PROPERTY = "clOrderId";
              public static final String EXCHANGE_PROPERTY = "exchange";
              public static final String SECURITY_CODE_PROPERTY = "code";
              public static final String SIDE_PROPERTY = "side";
              public static final String PRICE_PROPERTY = "price";
              public static final String ORDERTYPE_PROPERTY = "orderType";
              public static final String QTY_PROPERTY = "qty";
              public static final String LAST_PX_PROPERTY = "lastPx";
              public static final String LAST_QTY_PROPERTY = "lastQty";
              public static final String AVG_PX_PROPERTY = "avgPx";
              public static final String CUM_QTY_PROPERTY = "cumQty";
              public static final String LEAVES_QTY_PROPERTY = "leavesQty";
              public static final String ACCOUNT_PROPERTY = "account";
              public static final String BROKER_PROPERTY = "broker";
              public static final String TRADER_PROPERTY = "trader";
              public static final String ORDER_STATUS_PROPERTY = "orderStatus";
              public static final String EXECUTION_TYPE_PROPERTY = "executionType";
              public static final String EXPIRY_PROPERTY = "expiry";
              public static final String CURRENCY_PROPERTY = "currency";
              public static final String TEXT_PROPERTY = "text";
              public static final String GIVEUP_PROPERTY = "giveUp";
              public static final String GIVEIN_PROPERTY = "giveIn";
              public static final String UPDATED_PROPERTY = "updated";
              private final long orderId;
              private final String clOrderId;
              private final String exchange;
              private final String code;
              private final SideEnum side;
              private final OrderType orderType;
              private final SecurityType securityType;
              private final String account;
              private final String broker;
              private final String trader;
              private final Date expiry;
              private final String currency;
              private final double price;
              private final int qty;
              private final SimpleObjectProperty<OrderStatus> orderStatus = new SimpleObjectProperty<OrderStatus>();
              private final SimpleObjectProperty<ExecutionType> executionType = new SimpleObjectProperty<ExecutionType>();
              private final SimpleDoubleProperty lastPx = new SimpleDoubleProperty();
              private final SimpleIntegerProperty lastQty = new SimpleIntegerProperty();
              private final SimpleIntegerProperty cumQty = new SimpleIntegerProperty();
              private final SimpleIntegerProperty leavesQty = new SimpleIntegerProperty();
              private final SimpleDoubleProperty avgPx = new SimpleDoubleProperty();
              private final SimpleStringProperty externalOrderId = new SimpleStringProperty();
              private final SimpleStringProperty text = new SimpleStringProperty();
              private final SimpleStringProperty giveUp = new SimpleStringProperty();
              private final SimpleStringProperty giveIn = new SimpleStringProperty();
              private final SimpleObjectProperty<Date> updated = new SimpleObjectProperty<Date>();
               * Creates a new instance of {@link OrderDataTableNewRow}.
              public OrderDataTableNewRow(long orderId, String clOrderId, String exchange, String code, SideEnum side, OrderType orderType,  SecurityType securityType, String currency,
                        Date expiry, double price, int qty, String account, String broker, String trader) {
                   this.orderId = orderId;
                   this.clOrderId = clOrderId;
                   this.exchange = exchange;
                   this.code = code;
                   this.side = side;
                   this.orderType = orderType;
                   this.currency = currency;
                   this.expiry = expiry;
                   this.securityType = securityType;
                   this.account = account;
                   this.broker = broker;
                   this.trader = trader;
                   this.price = price;
                   this.qty = qty;
              public void setUpdated(Date date) {
                   this.updated.set(date);
              public void setOrderStatus(OrderStatus randDomStatus) {
                   this.orderStatus.set(randDomStatus);
               * @return the orderId
              public final long getOrderId() {
                   return this.orderId;
               * @return the clOrderId
              public final String getClOrderId() {
                   return this.clOrderId;
               * @return the exchange
              public final String getExchange() {
                   return this.exchange;
               * @return the code
              public final String getCode() {
                   return this.code;
               * @return the side
              public final SideEnum getSide() {
                   return this.side;
               * @return the orderType
              public final OrderType getOrderType() {
                   return this.orderType;
               * @return the securityType
              public final SecurityType getSecurityType() {
                   return this.securityType;
               * @return the account
              public final String getAccount() {
                   return this.account;
               * @return the broker
              public final String getBroker() {
                   return this.broker;
               * @return the trader
              public final String getTrader() {
                   return this.trader;
               * @return the expiry
              public final Date getExpiry() {
                   return this.expiry;
               * @return the currency
              public final String getCurrency() {
                   return this.currency;
               * @return the price
              public final double getPrice() {
                   return this.price;
               * @return the qty
              public final int getQty() {
                   return this.qty;
               * @return the orderStatus
              public final SimpleObjectProperty<OrderStatus> getOrderStatus() {
                   return this.orderStatus;
               * @return the executionType
              public final SimpleObjectProperty<ExecutionType> getExecutionType() {
                   return this.executionType;
               * @return the lastPx
              public final SimpleDoubleProperty getLastPx() {
                   return this.lastPx;
               * @return the lastQty
              public final SimpleIntegerProperty getLastQty() {
                   return this.lastQty;
               * @return the cumQty
              public final SimpleIntegerProperty getCumQty() {
                   return this.cumQty;
               * @return the leavesQty
              public final SimpleIntegerProperty getLeavesQty() {
                   return this.leavesQty;
               * @return the avgPx
              public final SimpleDoubleProperty getAvgPx() {
                   return this.avgPx;
               * @return the externalOrderId
              public final SimpleStringProperty getExternalOrderId() {
                   return this.externalOrderId;
               * @return the text
              public final SimpleStringProperty getText() {
                   return this.text;
               * @return the giveUp
              public final SimpleStringProperty getGiveUp() {
                   return this.giveUp;
               * @return the giveIn
              public final SimpleStringProperty getGiveIn() {
                   return this.giveIn;
               * @return the updated
              public final SimpleObjectProperty<Date> getUpdated() {
                   return this.updated;
               * @return the created
              public final SimpleObjectProperty<Date> updatedProperty() {
                   return this.updated;
               * @return the lastPrice
              public final SimpleDoubleProperty lastPxProperty() {
                   return this.lastPx;
               * @return the lastQty
              public final SimpleIntegerProperty lastQtyProperty() {
                   return this.lastQty;
               * @return the cumQty
              public final SimpleIntegerProperty cumQtyProperty() {
                   return this.cumQty;
               * @return the averagePrice
              public final SimpleDoubleProperty avgPxProperty() {
                   return this.avgPx;
               * @return the executionStatus
              public final SimpleObjectProperty<ExecutionType> executionTypeProperty() {
                   return this.executionType;
               * @return the leavesQty
              public SimpleIntegerProperty leavesQtyProperty() {
                   return this.leavesQty;
               * @return the text
              public final SimpleStringProperty textProperty() {
                   return this.text;
               * @return the orderId
              public final SimpleStringProperty externalOrderIdProperty() {
                   return this.externalOrderId;
               * @return the orderStatus
              public final SimpleObjectProperty<OrderStatus> orderStatusProperty() {
                   return this.orderStatus;
               * @return the giveUp
              public final SimpleStringProperty giveUpProperty() {
                   return this.giveUp;
               * @return the giveIn
              public final SimpleStringProperty giveInProperty() {
                   return this.giveIn;
         public class StringFormatCell<T>  extends TableCell<T, String> {
              private final Pos alignment;
              private final String cssFormat;
               * Creates a new instance of {@link IntegerFormatCell}.
              public StringFormatCell(Pos alignment) {
                   this(null, alignment);
               * Creates a new instance of {@link IntegerFormatCell}.
              public StringFormatCell(String cssFormat, Pos alignment) {
                   this.cssFormat = cssFormat;
                   this.alignment = alignment;
                   setId(this.cssFormat);
               * {@inheritDoc}
               * @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean)
              @Override
              protected void updateItem(String item, boolean empty) {
                   if(item == null) {
                        return;
                   // calling super here is very important - don't skip this!
                   super.updateItem(item, empty);
                   setText(item);
                   setAlignment(alignment);
         public class SideFormatCell<T> extends TableCell<T, SideEnum> {
               * Creates a new instance of {@link SideFormatCell}.
              public SideFormatCell() {
                   setAlignment(Pos.CENTER);
               * {@inheritDoc}
               * @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean)
              @Override
              protected void updateItem(SideEnum item, boolean empty) {
                   if(item == null) {
                        return;
                   // calling super here is very important - don't skip this!
                   super.updateItem(item, empty);
                   String name = item.name();
                   setText(name);
                   switch (item) {
                   case BUY:
                        setId("bidPriceCell");
                        break;
                   case SELL:
                        setId("askPriceCell");
                        break;
         public class OrderStatusFormatCell<T> extends TableCell<T, OrderStatus> {
               * Creates a new instance of {@link OrderStatusFormatCell}.
              public OrderStatusFormatCell() {
                   setAlignment(Pos.CENTER);
               * {@inheritDoc}
               * @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean)
              @Override
              protected void updateItem(OrderStatus item, boolean empty) {
                   if(item == null) {
                        return;
                   // calling super here is very important - don't skip this!
                   super.updateItem(item, empty);
                   switch (item) {
                   case PENDING:
                        setId("statusWorkingColumn");
                        setText("Working");
                        break;
                   case PENDINGNEW:
                        setId("statusPendingColumn");
                        setText("Pending New");
                        break;
                   case CANCELLED:
                        setId("statusPendingCancelColumn");
                        setText("Pending Cancel");
                        break;
                   case EXECUTED:
                        setId("statusPartFilledColumn");
                        setText("Part Filled");
                        break;
         public class OrderTypeFormatCell<T> extends TableCell<T, OrderType> {
               * Creates a new instance of {@link OrderTypeFormatCell}.
              public OrderTypeFormatCell(String cssStyleName) {
                   setId(cssStyleName);
                   setAlignment(Pos.CENTER);
               * {@inheritDoc}
               * @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean)
              @Override
              protected void updateItem(OrderType item, boolean empty) {
                   if(item == null) {
                        return;
                   // calling super here is very important - don't skip this!
                   super.updateItem(item, empty);
                   String itemAsString = item.name();
                   setText(itemAsString);
                   switch (item) {
                   case LIMIT:
                        setId("orderTypeLimit");
                        setText("Limit");
                        break;
                   case MARKET:
                        setId("orderTypeMarket");
                        setText("Market");
                        break;
                   case STOP:
                        setId("orderTypeStop");
                        setText("Stop");
                        break;
    }

Maybe you are looking for