Custom Node or Parent Node

Hello,
I want to have a centered Text within a Rectangle.
What is the simplest way in JavaFX to do such thing?
Is the following code really to only solution for that kind?
public class Title extends CustomNode {
public var content:String;
public var width:Number = 400;
public var height: Number = 80;
var text:Text = Text{
    translateX: bind (width/2.0 - text.layoutBounds.width/2.0)
    translateY: bind (height - text.layoutBounds.height)/2.0 - text.layoutBounds.minY
    font: Font.font("Arial", FontWeight.BOLD, 24)
    textAlignment: TextAlignment.LEFT
    content: bind content
    fill: Color.WHITESMOKE
    effect: DropShadow {offsetX: 3 offsetY: 3 color: Color.WHITE radius: 10}
var rectangle:Rectangle = Rectangle{
    width: bind width
    height: bind height
    fill: Color.BLACK
override function create(): Node {
Group {
content: [
    rectangle,
    text
}Is the solution above best practice?
Is there any way to put the Text into a Rectangle as a subNode and position the text with "textAlignment: TextAlignment.CENTER" instead of using translateX,translateY ?
Or maybe I should make use of "javafx.geometry.BoundingBox" ? Is this the way to go?

That's, more or less, the most used way to do it. Which isn't hard, but a bit tedious to do, as you might have many variations on this theme...
Now, thinking twice about it, it is a job a good layout should do.
So I experimented a bit and here is my variation on your code:
class Title extends CustomNode
  public var title: String;
  public var back: Paint = Color.web('#223344');
  public var fore: Paint = Color.web('#88BBFF');
  public var width: Number;
  public var height: Number;
  public var marginX: Number = 20;
  public var marginY: Number = 10;
  def rect: Rectangle = Rectangle
    fill: back;
    width: bind width
    height: bind height
  def text: Text = Text
    font: Font.font("Arial", FontWeight.BOLD, 36)
    content: title
    fill: fore
  init
    if (not isInitialized(width))
      width = text.boundsInLocal.width + 2 * marginX;
    if (not isInitialized(height))
      height = text.boundsInLocal.height + 2 * marginY;
  override protected function create(): Node
    Stack
      content: [ rect, text ]
}By default, Stack centers its nodes, so finally it is a good choice. Perhaps it have even been made specifically for this usage, actually, since don't see many other practical usages for it...
Problem: if you add an effect (drop shadow as you did, reflection or other), Stack takes this effect in account when centering the node. :-(

Similar Messages

  • What is the recommended way to handle mouse click events for custom nodes that subclass Panes?

    Hi,
    I have created a custom node that is a StackPane containing a Label on top of a Polygon.
    import javafx.scene.control.Label;
    import javafx.scene.layout.StackPane;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Polygon;
    public class CustomHexagon extends StackPane {
        private Polygon hexagon;
        private Label overlayText;
        public CustomHexagon( String text, double... points ) {
            this.hexagon = new Polygon( points );
            this.overlayText = new Label( text );
            overlayText.setStyle( "-fx-font-weight: bold;" );
            hexagon.setStroke( Color.GREEN );
            hexagon.setStrokeWidth( 5.0 );
            hexagon.setFill( Color.WHITE );
            this.getChildren().addAll( hexagon, overlayText );
    // Lays out the node where it should be according to the points provided for the Polygon.
            this.setLayoutX( points[0] - getLayoutBounds().getMinX() );
            this.setLayoutY( points[1] - getLayoutBounds().getMinY() );
    // Show the border of the StackPane.
            this.setStyle( "-fx-border-color: black; -fx-border-width: 1; -fx-border-style: dashed;");
        public String getOverlayText() {
            return overlayText.getText();
    I want to display a tesselation of these custom hexagons. Because a CustomHexagon is a StackPane, not a Polygon, MouseClick events can be picked up when the mouse is clicked outside of the stroke of the hexagon but still within the StackPane (which takes up a rectangle larger than the hexagon). The following program demonstrates this.
    public class Main extends Application {
        @Override
        public void start(Stage primaryStage) {     
            Group root = new Group();
            CustomHexagon[] hexagons = {
                new CustomHexagon( "00", 10.0, 10.0, 30.0, 10.0, 40.0, 27.3205080756, 30.0, 44.6410161512, 10.0, 44.6410161512, 0.0, 27.3205080756 ),
                new CustomHexagon( "01", 70.0, 10.0, 90.0, 10.0, 100.0, 27.3205080756, 90.0, 44.6410161512, 70.0, 44.6410161512, 60.0, 27.3205080756 ),
                new CustomHexagon( "02", 130.0, 10.0, 150.0, 10.0, 160.0, 27.3205080756, 150.0, 44.6410161512, 130.0, 44.6410161512, 120.0, 27.3205080756 ),
                new CustomHexagon( "03", 190.0, 10.0, 210.0, 10.0, 220.0, 27.3205080756, 210.0, 44.6410161512, 190.0, 44.6410161512, 180.0, 27.3205080756 ),
                new CustomHexagon( "04", 250.0, 10.0, 270.0, 10.0, 280.0, 27.3205080756, 270.0, 44.6410161512, 250.0, 44.6410161512, 240.0, 27.3205080756 ),
                new CustomHexagon( "10", 40.0, 27.3205080756, 60.0, 27.3205080756, 70.0, 44.6410161512, 60.0, 61.961524226799995, 40.0, 61.961524226799995, 30.0, 44.6410161512 ),
                new CustomHexagon( "11", 100.0, 27.3205080756, 120.0, 27.3205080756, 130.0, 44.6410161512, 120.0, 61.961524226799995, 100.0, 61.961524226799995, 90.0, 44.6410161512 ),
                new CustomHexagon( "12", 160.0, 27.3205080756, 180.0, 27.3205080756, 190.0, 44.6410161512, 180.0, 61.961524226799995, 160.0, 61.961524226799995, 150.0, 44.6410161512 ),
                new CustomHexagon( "13", 220.0, 27.3205080756, 240.0, 27.3205080756, 250.0, 44.6410161512, 240.0, 61.961524226799995, 220.0, 61.961524226799995, 210.0, 44.6410161512 ),
                new CustomHexagon( "14", 280.0, 27.3205080756, 300.0, 27.3205080756, 310.0, 44.6410161512, 300.0, 61.961524226799995, 280.0, 61.961524226799995, 270.0, 44.6410161512 ),
                new CustomHexagon( "20", 10.0, 44.6410161512, 30.0, 44.6410161512, 40.0, 61.961524226799995, 30.0, 79.2820323024, 10.0, 79.2820323024, 0.0, 61.961524226799995 ),
                new CustomHexagon( "21", 70.0, 44.6410161512, 90.0, 44.6410161512, 100.0, 61.961524226799995, 90.0, 79.2820323024, 70.0, 79.2820323024, 60.0, 61.961524226799995 ),
                new CustomHexagon( "22", 130.0, 44.6410161512, 150.0, 44.6410161512, 160.0, 61.961524226799995, 150.0, 79.2820323024, 130.0, 79.2820323024, 120.0, 61.961524226799995 ),
                new CustomHexagon( "23", 190.0, 44.6410161512, 210.0, 44.6410161512, 220.0, 61.961524226799995, 210.0, 79.2820323024, 190.0, 79.2820323024, 180.0, 61.961524226799995 ),
                new CustomHexagon( "24", 250.0, 44.6410161512, 270.0, 44.6410161512, 280.0, 61.961524226799995, 270.0, 79.2820323024, 250.0, 79.2820323024, 240.0, 61.961524226799995 ),
                new CustomHexagon( "30", 40.0, 61.961524226799995, 60.0, 61.961524226799995, 70.0, 79.2820323024, 60.0, 96.602540378, 40.0, 96.602540378, 30.0, 79.2820323024 ),
                new CustomHexagon( "31", 100.0, 61.961524226799995, 120.0, 61.961524226799995, 130.0, 79.2820323024, 120.0, 96.602540378, 100.0, 96.602540378, 90.0, 79.2820323024 ),
                new CustomHexagon( "32", 160.0, 61.961524226799995, 180.0, 61.961524226799995, 190.0, 79.2820323024, 180.0, 96.602540378, 160.0, 96.602540378, 150.0, 79.2820323024 ),
                new CustomHexagon( "33", 220.0, 61.961524226799995, 240.0, 61.961524226799995, 250.0, 79.2820323024, 240.0, 96.602540378, 220.0, 96.602540378, 210.0, 79.2820323024 ),
                new CustomHexagon( "34", 280.0, 61.961524226799995, 300.0, 61.961524226799995, 310.0, 79.2820323024, 300.0, 96.602540378, 280.0, 96.602540378, 270.0, 79.2820323024 ),
                new CustomHexagon( "40", 10.0, 79.2820323024, 30.0, 79.2820323024, 40.0, 96.602540378, 30.0, 113.9230484536, 10.0, 113.9230484536, 0.0, 96.602540378 ),
                new CustomHexagon( "41", 70.0, 79.2820323024, 90.0, 79.2820323024, 100.0, 96.602540378, 90.0, 113.9230484536, 70.0, 113.9230484536, 60.0, 96.602540378 ),
                new CustomHexagon( "42", 130.0, 79.2820323024, 150.0, 79.2820323024, 160.0, 96.602540378, 150.0, 113.9230484536, 130.0, 113.9230484536, 120.0, 96.602540378 ),
                new CustomHexagon( "43", 190.0, 79.2820323024, 210.0, 79.2820323024, 220.0, 96.602540378, 210.0, 113.9230484536, 190.0, 113.9230484536, 180.0, 96.602540378 ),
                new CustomHexagon( "44", 250.0, 79.2820323024, 270.0, 79.2820323024, 280.0, 96.602540378, 270.0, 113.9230484536, 250.0, 113.9230484536, 240.0, 96.602540378 )
            EventHandler<MouseEvent> mouseClickedHandler = new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent t) {
                    CustomHexagon h = (CustomHexagon) t.getSource();
                    System.out.println( h.getOverlayText() );
            for ( CustomHexagon hexagon : hexagons ) {
                hexagon.setOnMouseClicked( mouseClickedHandler );
            root.getChildren().addAll( hexagons );
            Scene scene = new Scene(root, 400, 400);
            primaryStage.setTitle("Example");
            primaryStage.setScene(scene);
            primaryStage.show();
        public static void main(String[] args) {
            launch(args);
    After running this program, when one clicks within the intersection of two StackPanes (borders shown by dashed lines), the target of the mouse click event will be the StackPane on top as determined by the order in which they were added to their parent.
    This is a problem because there is only a small "T" shaped area within each hexagon that when clicked will target that hexagon with an event, rather than adjacent nodes.
    I would appreciate any reccomendations to solve this problem.
    Thanks,
    James Giller

    Hello, this is an evergreen. Just call setPickOnBounds(false) on the CustomHexagon.
    An issue tracking this problem is open here: https://javafx-jira.kenai.com/browse/RT-17024

  • How to set up SSO between e-portal employee node & ebill customer node?

    We have a requirement to set up SSO between e-portal employee node & ebill customer node.
    I am told that sso is possible only between 2 employee nodes.
    Please advise.

    Not sure I understand which part is failing.
    Is it the C program calling your packaged function? Or does the error occur in the PL/SQL code, in which case you should be able to pinpoint where it's wrong?
    A few comments :
    1) Using DOM to build XML out of relational data? What for? Use SQL/XML functions.
    2) Giving sample data is usually great, but it's not useful here since we can't run your code. We're missing the base tables.
    3) This is wrong :
    vStrSqlQuery := 'SELECT * FROM ' || vTblName                     || ' WHERE record_update_tms <= TO_DATE(''' || TO_CHAR(vLastPubTms, 'MM/DD/YYYY HH24:MI:SS') || ''', ''MM/DD/YYYY HH24:MI:SS'') ' ;
    A bind variable should be used here for the date.
    4) This is wrong :
    elmt_value := xmldom.createTextNode (doc, l_clob(1));
    createTextNode does not support CLOB so it will fail as soon as the CLOB you're trying to pass exceeds 32k.
    Maybe that's the problem you're referring to?
    5) This is most wrong :
         l_clob(1):=REPLACE(l_clob(1),'&lt;?xml version=&quot;1.0&quot;?&gt;', NULL); 
         l_clob(1):=REPLACE(l_clob(1),'&lt;', '<'); 
         l_clob(1):=REPLACE(l_clob(1),'&gt;', '>'); 
    I understand what you're trying to do but it's not the correct way.
    You're trying to convert a text() node representing XML in escaped form back to XML content.
    The problem is that there are other things to take care of besides just '&lt;' and '&gt;'.
    If you want to insert an XML node into an existing document, treat that as an XML node, not as a string.
    Anyway,
    Anyone that can help me to find out the required magic number
    That would be a bad idea. Fix what needs to be fixed.
    And please clearly state which part is failing : the C program or the PL/SQL code?
    I'd vote for PL/SQL, as pointed out in [4].

  • How to "repaint" a custom node

    Hi everybody.
    I have working with JavaFX for a short time and a problem has come up... I'm developing an application where I dragg and drop elements from one half of the Scene to the other. Each half is represented by a Custom node that shows some thumbnails. When I dragg an element from one side to the other, I managed to insert that element in the sequence belonging to the destiny (Custom node) side.
    What I want is making this change of position visible, Each side of the Scene has a lot of thumbnails and I use a scroll to browse all the elements. When I transfer a thumbnail from one side of the Scene to the other is still the origin custom node scroll which moves the just transferred thumbnail altought it should be managed by the destiny custom node scroll...
    What I would need is a kind of "repaint" method, like the Swing's one...
    Thank's in advanced. Regards.

    Hi Nachy,
      Thanks for your replay,
    Regards,
    Anumaala Kumar

  • Sorting sequence of custom nodes

    How can one sort a sequence of custom nodes based on an arbitrary value?
    For example:
    Say you create a custom node of a person with their favorite number:
    var myNode : CustomNode = CustomNode{
        var personName: "John Smith"
        var personFavoriteNumber: 15
    //Create a sequence of CustomNode with different names and favorite numbers
    var customNodeSequence : CustomNode[] = .....My question is, how can you sort the sequence based off 'personName' (Alphabetically) or by their favorite number 'personFavoriteNumber' sequentially?
    I was reading [this article|http://blogs.sun.com/michaelheinrichs/entry/creating_javafx_sequences_in_java] and I'm curious to know more about this when he mentions the following:
    sort - Creates a new sequence by sorting the elements of a given sequence. The order can be induced either by the natural order of the elements, if they implement java.util.Comparable, or by providing a java.util.Comparator of the elements.+
    I believe it's related to [this thread|http://forums.sun.com/thread.jspa?threadID=5330227&tstart=31] , but I'm trying to figure out how to actually compare a custom node's variable with that of another. I'm not entirely sure how the comparator illustrated in this thread works.

    Found a solution.
    Here's a reference page: click
    var sortSeq = Sequences.sort(customNodeSequence , Comparator{
            public override function compare(o1 : Object, o2 : Object) : Integer{
                (o1 as CustomNode).personName.toLowerCase().compareTo((o2 as CustomNode).toLowerCase().personName);
    var customNodeSequenceSorted = (sortSeq as CustomNode[]); //sortSeq returns as object[], so you may have to type cast if you explicitly casted the destination sequence somewhere else

  • OnMouseClicked event with overlapping custom nodes

    I'm having a bit of an issue with overlapping nodes.
    Essentially what I have are rectangular shaped custom nodes which, when an onMouseEntered event occurs, has an extended set of icons that fade in that are located on the above top right portion of the node. If I may use ASCII to illustrate :)
    X
    [ MyCustomNode ]
    +(Blank spaces don't work too well so let's pretend the X is sitting on top of the node on the upper left corner)+
    The X is an icon that simply deletes the node.
    The problem occurs when the nodes are overlapping (i.e. one above the other, where the X icon is overlapping with the node above it). When I click on the X, the onMouseClicked event fires for the node above.
    I've tried mucking around with disabling the node and using toFront() and toBack() as well, but no luck.
    Now that I think about it (I'm sure this is related), I've noticed issues with text/labels interfering with the "click-ability" of an object that it is overlapping. Since the text generally occupies little pixels in terms of the width of the actual text, it just seems to only sometimes interfere with onMouseClicked events - if you click on the right spot that is. If you disable the node, do the pixels the text/label occupy become "dead"? as in that space cannot be used to initiate the onMouseClicked event of an object behind the text? Make sense?
    Any ideas?

    I've put up a picture for your reference: [http://imagebin.ca/view/Lj9C7q.html]
    How it works is that each node can be clicked on, thus increasing its opacity to 1.0. Once "selected" there is a mouse enter/exit event for that particular node which allows the X icon to fade in/out to delete the node.
    What's happening is that if you click on the X of the selected node, the node directly above (1432-1481) is being selected, although the deletion of the original node works fine.
    Also the onMouseEnter event is firing for the "1432-1481" node if you hover over the X. As you can tell in the screenshot, the opacity is increased if you hover over an unselected node. You can see that the "1432-1481" is slightly brighter than the other nodes above it. Obviously the cursor is missing from the screenshot but it should make sense.

  • Custom node not appearing in hbox

    I can insert this custom node into an hbox (I scanned the hbox and verified their existence), but the contents of the frame from the fxz file do not show up.
    My objective:
    -I have a series of fxz files (frames) that I wish to put into an hbox
    -Each frame, when clicked on, will animate, when off screen, the animation will be toggled off (i.e. myCustomNode.action.play();)
    -If I simply insert the contents of an fxz file (which I can) I don't see a universal way to turn animations on/off as I don't want frames eating up cpu cycles if they are off the viewing area
    Custom node is as follows:
    public class frameNode extends CustomNode{
        public var frameNumber;
        public var fxdContent;
        public var actualFrame;
        public var action;
        ///Get image content from fxz file
        public function configureFrame() : Void{
            fxdContent = FXDLoader.loadContent("{__DIR__}testFrame{frameNumber}.fxz");
            actualFrame = fxdContent.getRoot();
            action = fxdContent.getObject("move") as Timeline;
        override function create(): Node {
            def frameNodeGroup : Group = Group {
                content: [ actualFrame  //content from frame ]
            return frameNodeGroup;
    }Using the custom node class I've defined, I can't seem to insert the node itself but only the node's pubic variable 'actualFrame'
            var newFrame : frameNode = frameNode{
                frameNumber: frameNumber
            newFrame.configureFrame(); //fetches the content of the fxz file and assigns it to variable 'actualFrame'
            insert newFrame.actualFrame into myHbox.content; //works
            //insert newFrame into myHbox.content;  //this will NOT workEdit:
    -It turns out that invoking the .configureFrame() method as how I did above was the problem. Instead, I invoked it within the node class itself. As soon as the custom node receives a frame number (i.e. which file to point to) it fetches the FXZ content.

    Hi Ada,
    Please find below a very useful blog on configuring & working with SUS user defined fields.
    Ordering Unit vs Order Pricing Unit in SRM-SUS
    Hope this should solve your problem.
    Regards
    Kathirvel

  • Adding custom nodes in SAP reference IMG and accessing them using SM30

    I was able to successfully add an IMG node and few activities under the node (for our custom configuration table data entry) in SAP reference IMG. (using transaction SIMGH).
    However, when I execute transaction SM30, enter the name of the custom table and hit the button customizing, it does not take me to the appropriate node in IMG. It simply doesn't do anything.
    For any SAP table or view, this works like a charm (wherever SAP has configured the nodes). But when we create custom nodes for custom tables, it does not work.
    What steps am I missing?
    I will really appreciate any help you can provide.
    Jitendra Mehta

    Hi Sree:
    I assume you have either created your view maintenance for Z tables or you have created transaction attaching calling SM30 for view maintenance of your Z table.
    You may go in transaction SIMGH and in SAP reference IMG, create a main node (wherever your end client wants you to put it) and under this node, you can create sub-node for each view maintenance with a suitable description of sub-node.
    Once you save and activate, you are done.
    Then you can execute transaction SPRO and you should see your custom nodes wherever you attached them in the tree.
    I hope I understood your problem and have answered it.
    If not, please let me know and we can discuss it further.
    Thanks.
    Jitendra Mehta

  • Fundamentals: Custom Nodes vs Methods and Controller in MVC

    I have a couple quick questions that I'd consider somewhat fundamental that I should have a better grasp this far along in development...
    - First of all, what do you guys/gals consider the best way to structure your JavaFX classes. I almost always create custom nodes (XCustomNodes usually... from JFXtras) representing certain "panels" filled with content (buttons, labels, text, etc). I realize you could also create a separate class/method to simply return HBoxes, VBoxes, Groups, etc. So... thoughts?
    - Second, I see all these articles/posts saying ghat JavaFX is a perfect MVC language. I agree for the most part, but what would you consider the Controller? Aren't the View and Controller pretty well married together in JFX? Separating the Controller into its own entity seems like it'd be more work than help.
    Just trying to extend my knowledge reach... Thanks in advance!

    evnafets
    Thank you!!!
    While I do not understand how to do this:(though I understand principle of it... the misunderstanding is the whole problem)
    To make this example work all in one file, you have to make RemindTask2 an
    inner class of Reminder (which is already an inner class)
    I do not always understand packages....and doing what you suggested, in forming the packages, and sorting the classes, will help me understand the structure better...plus get me in the norm of always creating packages !
    So what I'm going to do right now is go tear my code down into various packages
    and source files.....however...if you or anyone else could explain/show example
    of how to do what you said(for inner classes, not packages...understand packages) , it would be appreciated.
    This fundamental inner class creation is obviously a major bump right now...and creating the packages and linking the classes will be easy, because I understand how to do it when I already have functional classes created.
    I do not always understand class/method creation/implementation..such as here.
    (IE: can create network apps/gui apps of simple nature....but this easy ol' thing has been driving me nuts.)
    Creating those classes however,,,,even if not the most efficient way is something
    needed for my basic Java knowledge.
    Thank you,,,,VERY GOOD project/training is going to come from this !!
    Really, thank you in any case...if you do not have the time(100% understand) please lmk, will just give you your duke award.
    AEWSOME

  • Custom nodes are deleted for IMG after upgrade

    Gurus,
    We are in processes of upgrading form ECC5 to ECCC6.
    In ECC5 we have custom node in IMG , which were created using SIMGH.
    After the upgrade all the custom nodes are deleted , is there a  way to retrieve the custom node or is there a way custom node are not touched during upgrade .
    Thanks for the help in advance.
    KJ

    Hi Ketan,
    You have used transaction SIMGH for modifying the SAP reference IMG in the old release. Those modifications gets lost
    while upgrading your system. Right?
    Even these custom node disappeared from IMG structure, but the customerspecific IMG structures or IMG-activities should be
    still available within the upgraded system. That means, you only need to reassign your IMG structures or IMG-activities with transaction S_IMG_EXTENSION .
    Those enhancements do not get lost with the next upgrade in future.
    With Best Regards
    Julia Song

  • Create new / add Custom Node in Component Pallete - Workflow Editor

    is there anyway to Create new / add Custom Node in Component Pallete - Workflow Editor in SQL Developer - Oracle Data Miner?
    Now i'm in progress create data cleansing engine in database package, and I have an idea to create new node in workflow editor, the node will call my procedure data cleansing.
    Anybody help?

    Hi,
    Not currently.
    We are working on a SQL Query node that would process data on connected input nodes and allow the user to create any sql query specification they would like.
    So as long as your implementation is compatible with being included as part of a sql query, then you may be able to take advantage of this new node.
    Since you describe your implementation as a data cleansing implementation, I could see it taking in what ever input is provided in the flow, and then returning a cleansed result set.
    Thanks, Mark

  • We need to pass the customer id from Parent BO report  to Child BO report.

    Hello Experts
    We are using SAP BI BO 4.1 for Business Objects  and SAP BW 7.3 as BW Backend.
    Requirement: We need to pass the customer id from Parent BO report  to Child BO report.
    Issue: Customer (0CUST_SALES__CUSTOMER) Characterisitic is used where in the display characteristic is set to Key i.e 'Display As "Key" ' But the In BO the Dimension appreas as Text .
    I have tried out by changing the display characteristic as KEY/ TEXT/ KEY & TEXT but still at the BO end the it is displayed as TEXT.
    Workaround Tried:  I have used the detailed object for the Dimension 0CUST_SALES__CUSTOMER- key in SAP BO i.e the key value where in we are able to view the customer ID. But we are unable to pass the value from parent report to child report  as the query level Filter cannot be applied onto a detaield object.
    Is this a BI- BO Integration issue?? Kindly help me out with the same.
    Regards
    Akshay.

    Hello Victor,
    I have gone through the doc sent. It was helpful.
    Info Object (BW)/ Dimension (BO): 0CUST_SALES__CUSTOMER.
    In SAP BO the dimension has detailed object under it 0CUST_SALES__CUSTOMER- KEY and 0CUST_SALES__CUSTOMER- TEXT.
    Now I can pass "0CUST_SALES__CUSTOMER- KEY" from the parent report. But in the child report we cannot apply Query level Prompt / Filter on the detailed object which will hold the parameter passed from the Parent report.
    Q1: Can we apply prompts on a detailed objects?? Is there any configuration  changes required.
    Q2: Is there any other method the achive the same??
    Regards
    Akshay.

  • Rename custom nodes in a JTree

    Hi all,
    Our problem is that we don't find a way to rename our custom objects that we show in our JTree. We have defined a complete Tree data structure which works fine already ... now we want to be able to rename the nodes in the Tree.
    Our JTree displays concrete instances of our self defined interface INode which has a toString method to display in the Tree. Adding and removing INodes dynamically to the tree works fine already, now we are looking for a way to rename those nodes. Those changes should be noticed finally in the 'name' field of each INode. (INode.setName, INode.getName are present).
    We read from javadoc that a DefaultTreeCellEditor along with an according DefaultTreeCellRenderer are the starting point, but we can't get these 2 integrated to perform correctly. Now the question. Does anyone have an example or an idea of how to write such a CustomTreeCellEditor ??? It is especially important that a possibly provided solution DOES NOT depend on the use of DefaultTreeModel or DefaultMutableTreeNode. Since we use our own Tree Data Structure to be presented in the JTree, we don't have access to possible gimmicks one can expect from the DefaultXXX implementations ...
    Any help very much appreciated!!!

    was able to fix it over here:
    http://forum.java.sun.com/thread.jspa?messageID=4089777

  • Workflow activity stuck at Custom Nodes and is in Active Status

    Hi Team,
    We have one issue with our Custom Order Management--> Order  Booking workflow. Can you please help us.
    Issue:
    Our Workflow Activities are in the following sequence.
    Start --> Activity A ---> Activity B --> Activity C --> End
    Code at Activities A, B, C involves Third part tool Integrations which involves business events, invoking Https Urls with Req/Res Xmls
    Ideally whenever an issue encounters at any one of these nodes, either workflow should go back or should proceed further.
    But in our case, process gets stuck at some Node (either A, B or C) with Activity status as ACTIVE. Upon checking Workflow diagram, seems there is no 'Y' or 'N' signal from any one of the above activities, once processes at respective Activity's gets completed.
    Can you please review this issue and suggest if anything could be checked.
    1) We came across some hint in google and found that missing COMMIT statement could be the issue.
         But we checked our custom code and there is no issue with COMMIT.
    2) We have even checked the FINAL RETURN status at each of the Activity's by adding debug messages and we could see that the return value is appropriate but not sure what is causing this
         issue.
    Upon retrying the Activity from Workflow Administrator resp, the same activity (that is stuck before) is getting Completed Normally.
    Also this is an intermittent issue and not sure, if this is happening inconsistently due to some environment params or some load related.
    Request you to review the problem and suggest if anything needs to be checked.
    Thank you,
    Lokesh G
    Oracle Apps Consultant

    Hi Team,
    Request you to please check the issue and provide your suggestions.
    Your help is much appreciated.
    Thanks
    Sreenivasulu M

  • Displaying custom node group sequences (and their creation)

    Hi,
    firstly my usual disclaimer :) I am a newbie at JavaFX and only jump back in when I have a little time here and there.
    What I'm trying to achieve, is to create an Object call MyItem which is essentially a Group with a rectangle, image and text. I want to be able to create multiple of these MyItem's and add them to a sequence (list, array).
    Then do a foreach item MyItems --> insert into myGroup.content[];
    But it keeps saying that either a Node or a Sequence is not what it's looking for...
    See below which should be able to describe the problem better than my confusing explanation above:
    Main.fx
    package exampleitems;
    import javafx.stage.Stage;
    import javafx.scene.Scene;
    import javafx.scene.paint.LinearGradient;
    import javafx.scene.paint.Stop;
    import javafx.scene.paint.Color;
    import javafx.scene.Node;
    public var stg = Stage {
                title: "TestApp"
                scene: Scene {
                   fill: LinearGradient {
                      startX: 0.0
                      startY: 0.0
                      endX: 0.0
                      endY: 1.0
                      stops: [
                         Stop {
                            color: Color.web("#0c8ec4") //Color.BLACK
                            offset: 0.0
                         Stop {
                            color: Color.web("#0a1945") //Color.GRAY
                            offset: 1.0
                   width: 800
                   height: 600
                   content: []
                resizable: false
    var man=Manager{};
    public function insertThem(){
       var myItemsHere = man.getItems();
       for(node in myItemsHere){
          insert node as Node into Main.stg.scene.content;
    function run(){
       stg;
       insertThem();
    }Manager.fx
    package exampleitems;
    public class Manager {
       var itemsListHolderAA=AAItems{};
       package function getItems(){
          return itemsListHolderAA.getItems();
    }AAItems.fx
    package exampleitems;
    public class AAItems {
       var icon="{__DIR__}images/AA.png";
       package function getItems() {
          var i = 1;
          var myItems=[];
          //while(i < 10){
             insert Items{xPos: 20*i, yPos: 20*i, iconItem: icon} into myItems;
             //i++;
          return myItems;
    }Items.fx
    package exampleitems;
    import javafx.scene.shape.Rectangle;
    import javafx.scene.paint.Color;
    import javafx.scene.CustomNode;
    import javafx.scene.Node;
    import javafx.scene.image.ImageView;
    import javafx.scene.image.Image;
    import javafx.scene.text.Text;
    import javafx.scene.text.Font;
    public class Items extends CustomNode{
       public var xPos: Integer;
       public var yPos: Integer;
       public var iconItem: String;
       override protected function create () : Node {
          Rectangle {
             width: (750), height: (470/20)
             fill: Color.TRANSPARENT
             stroke: Color.web("#0c8ec4") //Color.TEAL
             strokeWidth: 1.0
             arcWidth: 20
             arcHeight: 20
             smooth: true
          ImageView {
             translateX: 2, translateY: 1
             image: Image {
                url: iconItem
             fitWidth: (470/20)
             fitHeight: (470/20)
          Text {
             translateX: ((470/20)+5)
             translateY: ((470/20)*0.666)
             font : Font {
                size: 10
             content: "Hello!"
    }As you can see, my main problem seems to be that the last Node in Items.fx gets displayed, and not all three (try commenting out Text node and image appears etc...)
    So, either I get the Items.fx to return as a Group (?), but then I get the error that it expects a sequence etc.
    So how can I get the myItems[] in AAItems.fx to fill up with a "group" of nodes and then be able to iterate through them on the Main.fx ?
    I hope that's clear? :/
    What I want is a list of Items(.fx) created in AAItems(.fx) and be able to then display (iterate through) them in Main(.fx).
    I'm sure it's a concept flaw on my part on how to implement it. Any help appreciated.

    Oops. I guess not "exactly" what I wanted:
    The Stack container arranges its managed content nodes in a back-to-front Stack. The z-order of the content is defined by the order of the content sequence with content[0] being the bottom and content[sizeof content-1] being the top...
    D'Oh! Just replacing Stack with Group does the job... man... I need a holiday!!! :D

Maybe you are looking for