Changeset 4570


Ignore:
Timestamp:
2017-05-09 13:30:44 (7 months ago)
Author:
pekamono
Message:

Lisätty gridin solujen live editointi

Location:
FXExamples/trunk/FXGuiExamples/src/application
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • FXExamples/trunk/FXGuiExamples/src/application/controllers/FirstViewController.java

    r4563 r4570  
    44import java.util.ResourceBundle; 
    55 
     6import application.RandomGenerator; 
    67import application.objects.Kalio; 
    78import application.objects.Olio; 
     
    182183        headers[3] = "fourth header"; 
    183184        grid.initTable(headers); // Initalize StringGrid with headers defined above 
    184  
     185        grid.setEditable(true); 
     186 
     187        grid.setOnGridLiveEdit((grid, olio, defValue, row, column, edit) -> { 
     188            olio.setFieldValue(column, defValue); 
     189            return defValue; 
     190        }); 
     191         
    185192        /* Sets the String value for cells for SORTING purposes. */ 
    186193        grid.setOnCellValue((grid, olio, defValue, row, column) -> olio.getComparableString(column)); 
     
    191198        /* Adding some Olio objects into the StringGrid */ 
    192199        for (int i = 0; i < 10; i++) { 
    193             Olio o = new Olio(10, "toka", "neljäs"); 
     200            Olio o = new Olio(RandomGenerator.generateInt(10), RandomGenerator.generateString(7), RandomGenerator.generateString(7)); 
    194201            grid.add(o); 
    195202        } 
  • FXExamples/trunk/FXGuiExamples/src/application/objects/Olio.java

    r4564 r4570  
    11package application.objects; 
    22 
     3import java.text.ParseException; 
    34import java.text.SimpleDateFormat; 
    45import java.util.Calendar; 
     
    5960 
    6061    /** 
     62     * Sets the value of a field according to the "index" of the fields. 
     63     * @param i Index 
     64     * @param s Value to set 
     65     */ 
     66    public void setFieldValue(int i, String s) { 
     67        switch (i) { 
     68        case 0: 
     69            this.kentta1 = Integer.parseInt(s); 
     70            break; 
     71        case 1: 
     72            this.kentta2 = s; 
     73            break; 
     74        case 2: 
     75            SimpleDateFormat sdf = new SimpleDateFormat("d.M.YYYY"); 
     76            try { 
     77                sdf.parse(s); 
     78            } catch (ParseException e) { 
     79                System.err.println("Parse Exception!"); 
     80            } 
     81            this.kentta3 = sdf.getCalendar(); 
     82            break; 
     83        case 3: 
     84            this.kentta4 = s; 
     85            break; 
     86        } 
     87    } 
     88     
     89    /** 
    6190     * Returns the field according to the "index" of the field. Used for sorting 
    6291     * purposes, especially date (3rd) field. 
Note: See TracChangeset for help on using the changeset viewer.