Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (581)
games submitted by our members
Games in WIP (500)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  JavaFX events not firing  (Read 2399 times)
0 Members and 1 Guest are viewing this topic.
Offline pchasco

Junior Newbie





« Posted 2010-06-24 21:40:17 »

I have a JavaFX scene containing a Label, ListView and a Button. My action event is not firing when the button is clicked. Does anyone know why this might be happening? The application so far has two scenes. The first scene is changing to this scene by setting the Stage's scene member to an instance of this scene.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
public class CharacterSelectScene extends Scene, CharacterSelectUi {
    var listener: CharacterSelectUiListener;
    var characters: Sequence;
    var listView: ListView;

    override public function setCharacterSelectUiListener(arg0: CharacterSelectUiListener): Void {
        this.listener = listener;
    }

    override public function setCharacters(arg0: Map): Void {
        characters = for (k in arg0.keySet()) {
            CharacterEntry {
                id: k as CharacterId
                name: arg0.get(k) as String
            }
        }
    }

    override public function getCharacterSelectUiListener(): CharacterSelectUiListener {
        return listener;
    }

    override public function setCharacterSelectEnabled(arg0: Boolean): Void {
       
    }

    init {
        listView = ListView {
                    translateX: 0
                    translateY: 0
                    layoutInfo: LayoutInfo { height: 150 }
                    items: bind characters;
                    cellFactory: function() {
                        def cell: ListCell = ListCell {
                                    node: HBox {
                                        content: [
                                            Label { text: bind
                                                if (cell.empty)
                                                then ""
                                                else ((cell.item as CharacterEntry).name) }
                                        ]
                                    }
                                }
                    }
                };
        content = VBox {
                    content: [
                        Text { content: "Characters" },
                        listView,
                        Button {
                            text: "Select"
                            action: function() {
                                if (listener != null) {
                                    var ch : CharacterEntry = listView.selectedItem as CharacterEntry;
                                    if (ch != null) {
                                        listener.characterSelected(ch.id);
                                    }
                                }
                            }
                        }
                    ]
                }
    }

}
Offline pchasco

Junior Newbie





« Reply #1 - Posted 2010-06-25 15:49:10 »

OK, so I've narrowed the issue down to my action event handler. It's the strangest thing... If I place a breakpoint in the function, it is only hit if I remove other lines later in the function. Check out the code:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
content = Button {
            text: "Select"
            action: function() {
                // Breakpoint on the next line. It is only hit if I comment out the contents of the if block. Otherwise it's like
               // the method is never even called.
               if (this.listener != null) {
                    var ch: CharacterEntry = listView.selectedItem as CharacterEntry;
                    if (ch != null) {
                        listener.characterSelected(ch.id);
                    }
                }
            }
        }


I'm worried that this is a compiler error. That would be disappointing because I've been excited about JavaFX ever since I heard about it a couple years ago. I've tried porting a project to it at 1.0, 1.2 and now 1.3 and each time encountered some sort of issue like this that let me know that it's just not ready yet.
Offline pchasco

Junior Newbie





« Reply #2 - Posted 2010-06-25 16:19:49 »

OK, I've solved my problem. I believe the issue with the breakpoint not being hit is a netbeans issue.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (55 views)
2014-04-15 18:08:23

BurntPizza (53 views)
2014-04-15 03:46:01

UprightPath (66 views)
2014-04-14 17:39:50

UprightPath (49 views)
2014-04-14 17:35:47

Porlus (66 views)
2014-04-14 15:48:38

tom_mai78101 (90 views)
2014-04-10 04:04:31

BurntPizza (151 views)
2014-04-08 23:06:04

tom_mai78101 (247 views)
2014-04-05 13:34:39

trollwarrior1 (204 views)
2014-04-04 12:06:45

CJLetsGame (211 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!