Solved

javafx extend missing super

Posted on 2009-05-20
1
270 Views
Last Modified: 2012-08-13
Hi.
I'm a bit confused testing out javafx.

if you look at my code Example1, it works. Creating a new Item. (from the example Window.JDLayout.Item)

I'm noe trying to create a class that extends Window.JDLayout.Item see Example 2.
The fill part works, but not the item.
if I try to override var item. I get an error.

I was hoing to do something like super.setItem().

What is the correct way to do this in javafx




Expample 1:
Item{
     valign:"middle"
     halign:"center"
     colspan:3
    fill: javafx.scene.paint.LinearGradient {
          startX: 0.0, startY: 0.0, endX: 0.0, endY: 1.0, proportional: true
         stops: [javafx.scene.paint.Stop {offset: 0.0 color: javafx.scene.paint.Color.web("#e9e19e")},
	     javafx.scene.paint.Stop {offset: 1.0 color: javafx.scene.paint.Color.web("#c2bb77")}
	   ]
         }
     item:
        javafx.ext.swing.SwingLabel {
	text: "North"
	font: javafx.scene.text.Font {
	       size: 24
	},
        }
}
 
Example 2:
public class layoutBoard extends Item {
 
    /*public var valign = "middle";
    public var halign = "center";
    */
    override var fill =  javafx.scene.paint.LinearGradient {
				      startX: 0.0, startY: 0.0, endX: 0.0, endY: 1.0, proportional: true
 
				      stops: [
				        javafx.scene.paint.Stop {offset: 0.0 color: javafx.scene.paint.Color.web("#e9e19e")},
				        javafx.scene.paint.Stop {offset: 1.0 color: javafx.scene.paint.Color.web("#c2bb77")}
				      ]
				    };
 
 
 
    var item = javafx.ext.swing.SwingLabel {
							text: "North"
							font: javafx.scene.text.Font {
						        size: 24
						    }
						};
 
 
 
}

Open in new window

0
Comment
Question by:kristian_gr
1 Comment
 
LVL 20

Accepted Solution

by:
ChristoferDutz earned 500 total points
ID: 24431002
As far as I can see, there is no property/Method called item, that you could override. In Flex there is something called a default handler, that deals with properties that are not implemented using normal properties and are handled using a function. I'll add the decompiled class of Item, as it seems to be impossible to download the source of this google-app
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   Item.fx
 
package Window.JDLayout;
 
import com.sun.javafx.runtime.*;
import com.sun.javafx.runtime.location.*;
import com.sun.javafx.runtime.sequence.Sequence;
import com.sun.javafx.runtime.sequence.Sequences;
import java.util.Iterator;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
 
public class Item
    implements Intf, FXObject
{
 
    public SequenceVariable get$Window$JDLayout$Item$item()
    {
        return $Window$JDLayout$Item$item;
    }
 
    public String get$Window$JDLayout$Item$valign()
    {
        return $Window$JDLayout$Item$valign;
    }
 
    public String set$Window$JDLayout$Item$valign(String value)
    {
        $Window$JDLayout$Item$valign$needs_default$ = false;
        return $Window$JDLayout$Item$valign = value;
    }
 
    public String get$Window$JDLayout$Item$halign()
    {
        return $Window$JDLayout$Item$halign;
    }
 
    public String set$Window$JDLayout$Item$halign(String value)
    {
        $Window$JDLayout$Item$halign$needs_default$ = false;
        return $Window$JDLayout$Item$halign = value;
    }
 
    public int get$Window$JDLayout$Item$colspan()
    {
        return $Window$JDLayout$Item$colspan;
    }
 
    public int set$Window$JDLayout$Item$colspan(int value)
    {
        $Window$JDLayout$Item$colspan$needs_default$ = false;
        return $Window$JDLayout$Item$colspan = value;
    }
 
    public BooleanVariable get$empty()
    {
        return $empty;
    }
 
    public boolean get$Window$JDLayout$Item$hgrow()
    {
        return $Window$JDLayout$Item$hgrow;
    }
 
    public boolean set$Window$JDLayout$Item$hgrow(boolean value)
    {
        $Window$JDLayout$Item$hgrow$needs_default$ = false;
        return $Window$JDLayout$Item$hgrow = value;
    }
 
    public boolean get$Window$JDLayout$Item$vgrow()
    {
        return $Window$JDLayout$Item$vgrow;
    }
 
    public boolean set$Window$JDLayout$Item$vgrow(boolean value)
    {
        $Window$JDLayout$Item$vgrow$needs_default$ = false;
        return $Window$JDLayout$Item$vgrow = value;
    }
 
    public ObjectVariable get$fill()
    {
        return $fill;
    }
 
    public ObjectVariable get$type()
    {
        return $type;
    }
 
    public FloatVariable get$spacing()
    {
        return $spacing;
    }
 
    public ObjectVariable get$group()
    {
        return $group;
    }
 
    public static void applyDefaults$Window$JDLayout$Item$item(Intf receiver$)
    {
        receiver$.item().setAsSequence(TypeInfo.getTypeInfo().emptySequence);
    }
 
    public static void applyDefaults$Window$JDLayout$Item$valign(Intf receiver$)
    {
        receiver$.valign("middle");
    }
 
    public static void applyDefaults$Window$JDLayout$Item$halign(Intf receiver$)
    {
        receiver$.halign("left");
    }
 
    public static void applyDefaults$Window$JDLayout$Item$colspan(Intf receiver$)
    {
        receiver$.colspan(1);
    }
 
    public static void applyDefaults$empty(Intf receiver$)
    {
        receiver$.empty().setAsBoolean(false);
    }
 
    public static void applyDefaults$Window$JDLayout$Item$hgrow(Intf receiver$)
    {
        receiver$.hgrow(false);
    }
 
    public static void applyDefaults$Window$JDLayout$Item$vgrow(Intf receiver$)
    {
        receiver$.vgrow(false);
    }
 
    public static void applyDefaults$fill(Intf receiver$)
    {
        receiver$.fill().set(null);
    }
 
    public static void applyDefaults$type(Intf receiver$)
    {
        receiver$.type().set("VBox");
    }
 
    public static void applyDefaults$spacing(Intf receiver$)
    {
        receiver$.spacing().setDefault();
    }
 
    public static void applyDefaults$group(Intf receiver$)
    {
        receiver$.group().set(null);
    }
 
    public void initialize$()
    {
        addTriggers$(this);
        if($Window$JDLayout$Item$item.needDefault())
            applyDefaults$Window$JDLayout$Item$item(this);
        if($Window$JDLayout$Item$valign$needs_default$)
            applyDefaults$Window$JDLayout$Item$valign(this);
        if($Window$JDLayout$Item$halign$needs_default$)
            applyDefaults$Window$JDLayout$Item$halign(this);
        if($Window$JDLayout$Item$colspan$needs_default$)
            applyDefaults$Window$JDLayout$Item$colspan(this);
        if($empty.needDefault())
            applyDefaults$empty(this);
        if($Window$JDLayout$Item$hgrow$needs_default$)
            applyDefaults$Window$JDLayout$Item$hgrow(this);
        if($Window$JDLayout$Item$vgrow$needs_default$)
            applyDefaults$Window$JDLayout$Item$vgrow(this);
        if($fill.needDefault())
            applyDefaults$fill(this);
        if($type.needDefault())
            applyDefaults$type(this);
        if($spacing.needDefault())
            applyDefaults$spacing(this);
        if($group.needDefault())
            applyDefaults$group(this);
        userInit$(this);
        postInit$(this);
        InitHelper.finish(new AbstractVariable[] {
            $Window$JDLayout$Item$item, $empty, $fill, $type, $spacing, $group
        });
    }
 
    public static void addTriggers$(Intf intf)
    {
    }
 
    public Item()
    {
        this(false);
        initialize$();
    }
 
    public Item(boolean dummy)
    {
        $Window$JDLayout$Item$item = SequenceVariable.make(TypeInfo.getTypeInfo());
        $Window$JDLayout$Item$valign = "";
        $Window$JDLayout$Item$halign = "";
        $Window$JDLayout$Item$colspan = 0;
        $empty = BooleanVariable.make();
        $Window$JDLayout$Item$hgrow = false;
        $Window$JDLayout$Item$vgrow = false;
        $fill = ObjectVariable.make();
        $type = ObjectVariable.makeWithDefault("");
        $spacing = FloatVariable.make();
        $group = ObjectVariable.make();
        $Window$JDLayout$Item$valign$needs_default$ = true;
        $Window$JDLayout$Item$halign$needs_default$ = true;
        $Window$JDLayout$Item$colspan$needs_default$ = true;
        $Window$JDLayout$Item$hgrow$needs_default$ = true;
        $Window$JDLayout$Item$vgrow$needs_default$ = true;
    }
 
    public static void userInit$(Intf receiver$)
    {
        if(Checks.equals((String)receiver$.type().get(), "HBox"))
        {
            javafx.scene.layout.HBox.Intf jfx$81objlit = new HBox(true);
            jfx$81objlit.get$spacing().setAsFloatFromLiteral(receiver$.spacing().getAsFloat());
            jfx$81objlit.initialize$();
            receiver$.group().set(jfx$81objlit);
        } else
        if(Checks.equals((String)receiver$.type().get(), "VBox"))
        {
            javafx.scene.layout.VBox.Intf jfx$82objlit = new VBox(true);
            jfx$82objlit.get$spacing().setAsFloatFromLiteral(receiver$.spacing().getAsFloat());
            jfx$82objlit.initialize$();
            receiver$.group().set(jfx$82objlit);
        }
        javafx.scene.Node.Intf i;
        for(Iterator i$ = Sequences.forceNonNull(TypeInfo.getTypeInfo(), receiver$.item().getAsSequence()).iterator(); i$.hasNext(); (receiver$.group().get() == null ? SequenceVariable.make(TypeInfo.getTypeInfo(), TypeInfo.getTypeInfo().emptySequence) : ((javafx.scene.Group.Intf)receiver$.group().get()).get$content()).insert(i))
        {
            javafx.scene.Node.Intf jfx$83i = (javafx.scene.Node.Intf)i$.next();
            i = jfx$83i;
        }
 
    }
 
    public static void postInit$(Intf intf)
    {
    }
 
    public static void main(String args[])
        throws Throwable
    {
        throw new NoMainException("Item");
    }
 
    public final SequenceVariable $Window$JDLayout$Item$item;
    public String $Window$JDLayout$Item$valign;
    public String $Window$JDLayout$Item$halign;
    public int $Window$JDLayout$Item$colspan;
    public final BooleanVariable $empty;
    public boolean $Window$JDLayout$Item$hgrow;
    public boolean $Window$JDLayout$Item$vgrow;
    public final ObjectVariable $fill;
    public final ObjectVariable $type;
    public final FloatVariable $spacing;
    public final ObjectVariable $group;
    public boolean $Window$JDLayout$Item$valign$needs_default$;
    public boolean $Window$JDLayout$Item$halign$needs_default$;
    public boolean $Window$JDLayout$Item$colspan$needs_default$;
    public boolean $Window$JDLayout$Item$hgrow$needs_default$;
    public boolean $Window$JDLayout$Item$vgrow$needs_default$;
 
 
    private class Intf
        implements FXObject
    {
 
        public abstract SequenceVariable get$Window$JDLayout$Item$item();
 
        public abstract String get$Window$JDLayout$Item$valign();
 
        public abstract String set$Window$JDLayout$Item$valign(String s);
 
        public abstract String get$Window$JDLayout$Item$halign();
 
        public abstract String set$Window$JDLayout$Item$halign(String s);
 
        public abstract int get$Window$JDLayout$Item$colspan();
 
        public abstract int set$Window$JDLayout$Item$colspan(int i);
 
        public abstract BooleanVariable get$empty();
 
        public abstract boolean get$Window$JDLayout$Item$hgrow();
 
        public abstract boolean set$Window$JDLayout$Item$hgrow(boolean flag);
 
        public abstract boolean get$Window$JDLayout$Item$vgrow();
 
        public abstract boolean set$Window$JDLayout$Item$vgrow(boolean flag);
 
        public abstract ObjectVariable get$fill();
 
        public abstract ObjectVariable get$type();
 
        public abstract FloatVariable get$spacing();
 
        public abstract ObjectVariable get$group();
    }
 
}

Open in new window

0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
groupNoAdj 7 96
javap not working 8 45
Chrome and Firefox Java 5 32
Glassfish admin console not working 1 12
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question