java - how to getChildname from a vbox -


this question has answer here:

i need filename of imageview within vbox upon pressing button?? here file arraylist has been added vbox, vbox gridpane possible using vbox.getchildren()?? or else how should proceed. here's screenshot better understanding:

enter image description here

here's code:

private arraylist<button> btnar; private vbox vb; private button downloadbtn; @fxml private scrollpane displayscroll; private gridpane gridpane;  public homeui_2controller() {    platform.runlater(new runnable() {       @override      public void run() {         gridpane = new gridpane();         displayscroll.setcontent(gridpane);          btnar = new arraylist<>();         (int = 0; < filelist2.size(); i++) {             downloadbtn = new button("download");             btnar.add(downloadbtn);         }         int imagecol = 0;         int imagerow = 0;          (int = 0; < filelist2.size(); i++) {             system.out.println(filelist2.get(i).getname());              image = new image(filelist2.get(i).touri().tostring());              pic = new imageview();             pic.setfitwidth(130);             pic.setfitheight(130);              pic.setimage(image);             vb = new vbox();             vb.getchildren().addall(pic, (button) btnar.get(i));              gridpane.add(vb, imagecol, imagerow);             gridpane.setmargin(pic, new insets(2, 2, 2, 2));             imagecol++;              // check if 3 images of row completed             if (imagecol > 2) {                 // reset column                 imagecol = 0;                 // next row                 imagerow++;             }          }          **downloadbtn.setonaction(new eventhandler<actionevent>() {             @override             public void handle(actionevent arg0) {                 system.out.println("sssss");                 system.out.println( vb.getchildren().contains(pic.getid()));             }         });**    }    }); } 

this code unclear, , i'm not sure understand you're doing here. (is controller? if so, why initializing ui in platform.runlater(), inside constructor, instead of in standard initialize() method? why of ui components apparently defined in fxml, , others defined in java code in controller? hard follow.)

but, seems have list called filelist2 (you don't show declaration) i'm guessing contains filenames. create list of buttons of same size. i'm guessing idea add action event handler each button corresponding element of filelist2 list.

in order can add event handler each button inside first for loop:

    (int = 0; < filelist2.size(); i++) {         downloadbtn = new button("download");         btnar.add(downloadbtn);         final int index = ;         downloadbtn.setonaction(new eventhandler<actionevent>() {             @override             public void handle(actionevent event) {                 // filelist2.get(index);                 // ...             }         });     } 

Comments

Popular posts from this blog

javascript - how to protect a flash video from refresh? -

visual studio 2010 - Connect to informix database windows form application -

android - Associate same looper with different threads -