ListView

JavaFX und die Programmierung

Moderator: wegus

Antworten
Mitch
Beiträge: 79
Registriert: 02.03.2010, 12:39

ListView

Beitrag von Mitch » 15.04.2010, 11:49

Hi,
ich hab mal wieder ein Problem.
Ich habe mir ein eigenes drop down Menü mit hilfe von ListView gebastelt.
eigentlich funktiont das alles auch soweit.
Mein problem ist, dass ich bislang nicht rausfinden konnte, ob es mit einer onMouseEntered machbar ist, den bereich auf dem ich grad mit der Maus bin Blau zu hinterlegen. Bzw. zu makieren aber noch nicht als selected Item festzusetzten.
Desweiteren habe ich noch ein problem mit dem Auslesen der Items.
was ich versucht habe:

Code: Alles auswählen

//in der Klasse Functions ist mein DropDownMenü
var f: Functions[];

public function dropDownMenu(title: String, content: String[], i: Integer): Node {
    f[0] = new Functions;
    f[1] = new Functions;
    f[2] = new Functions;
    f[3] = new Functions;
    f[4] = new Functions;
    f[5] = new Functions;
    VBox {
        content: [
            VBox {
                layoutInfo: LayoutInfo { width: 85 height: Values.overwiew_TextSize + 2 }
                content: [
                    Text {
                        font: Font {
                            size: Values.overwiew_TextSize
                        }
                        content: title
                    },
                ]
            }
            f[i].dropDownMenu(85, Values.overwiew_TextSize, Values.dropDownMenuFillColor, Values.dropDownMenuStrokeColor, Values.dropDownMenuPressedColor[0], Values.dropDownMenuPressedColor[1], content, i),
        ]
    };
}
so sieht der Aufruf des Menüs aus:

Code: Alles auswählen

HBox {
                spacing: Values.zaehlerinfo_spacing
                content: [
                    VBox {
                        translateY: Values.overwiew_TextSize + 2
                        content: [
                            Text {
                                font: Font {
                                    size: Values.overwiew_TextSize
                                }
                                content: "Startzeit"
                            },
                        ]
                    },
                    Group {
                        content: [dropDownMenu("Tag", Values.zeitintervall_Tage, 3),]
                    },
                    Group {
                        content: [dropDownMenu("Monat", Values.zeitintervall_Monate, 4),]
                    },
                    Group {
                        content: [dropDownMenu("Jahr", Values.zeitintervall_Jahre, 5),]
                    }
                ]
            },
um nun die selectet Items der einzelnen DropDownMenüs auszulesen habe ich folgendes versucht:

Code: Alles auswählen

Button {
                        text: "Übernehmen"
                        action: function () {

                            println("f0:{f[0].listview.selectedItem}");
                            println("f0:{f[1].listview.selectedItem}");
                            println("f0:{f[2].listview.selectedItem}");
                            println("f0:{f[3].listview.selectedItem}");
                            println("f0:{f[4].listview.selectedItem}");
                            println("f0:{f[5].listview.selectedItem}");
                        }
                    }
Hierbei gibt er mir jedoch nur das letzte selected Item aus. hat jemand eine Idee woran das liegt oder vielleicht sogar ein lösungsvorschlag?

MfG

Antworten