Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: JavaFX: ListViewin sisäinen ComboBox

koodaaja [24.09.2020 09:44:27]

#

JavaFX:llä pystyy ListViewiin tekemään sisäisen ComboBoxin. Tässä esimerkissä arvoiksi on asettetu Fibonaccin lukujono.

package javafx_lista;

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.control.cell.ComboBoxListCell;
import javafx.scene.layout.TilePane;
import javafx.stage.Stage;

public class JavaFX_Lista extends Application {

    @Override
    public void start(Stage primaryStage) {
      //Seuraavaan kahteen lisätään tiedot.
       ObservableList fib = FXCollections.observableArrayList();
       ObservableList fib2 = FXCollections.observableArrayList();
       ListView lista = new ListView(fib);
       lista.setEditable(true); //Muokkausmahdollisuus
       int a = 0;
       int b = 1;
       int summa = 0;
       //Lisätään tiedot.
       for (int x = 0; x < 10; x++){
           summa = a+b;
           a = b;
           b = summa;
           fib.add(summa);
           fib2.add(summa);

       }
       lista.setItems(fib);
       //Luodaan listaan sisäinen ComboBox.
       lista.setCellFactory(ComboBoxListCell.forListView(fib2));
        TilePane root = new TilePane();
        root.getChildren().add(lista);
        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta