Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: Treeview (JavaFX)

koodaaja [20.06.2020 01:20:40]

#

Luodaan TreeView, johon lisätään kielet, kansalaisuudet ja maat. Kun painaa kielet, kansalaisuudet tai maat kohtaa tulee lista kyseisestä asiasta. Ohjelmassa on käytetty JavaFX-rakennetta.

package javafx_tree;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class JavaFX_Tree extends Application {

    @Override
    public void start(Stage stage){
        //Luodaan puurakenne
        //Luodaan kielet
        TreeItem kielet = new TreeItem("Kielet");
        TreeItem kieli1 = new TreeItem("suomi");
        TreeItem kieli2 = new TreeItem("englanti");
        TreeItem kieli3 = new TreeItem("ruotsi");
        TreeItem kieli4 = new TreeItem("saksa");
        kielet.getChildren().addAll(kieli1,kieli2,kieli3,kieli4); //Lisätään kielet
        //Luodaan kansalaisuudet
        TreeItem kansallisuudet = new TreeItem("Kansallisuudet");
        TreeItem kans1 = new TreeItem("suomalainen");
        TreeItem kans2 = new TreeItem("englantilainen");
        TreeItem kans3 = new TreeItem("ruotsalainen");
        TreeItem kans4 = new TreeItem("saksalainen");
        kansallisuudet.getChildren().addAll(kans1,kans2,kans3,kans4); //Lisätään kansalaisuudet
        //Luodaan maat
        TreeItem maat = new TreeItem("maat");
        TreeItem maa1 = new TreeItem("Suomi");
        TreeItem maa2 = new TreeItem("UK");
        TreeItem maa3 = new TreeItem("Ruotsi");
        TreeItem maa4 = new TreeItem("Saksa");
        maat.getChildren().addAll(maa1,maa2,maa3,maa4); //Lisätään maat
        TreeItem<String> base = new TreeItem<String>(""); //Luodaan puurakenne merkkijonoista..
        base.setExpanded(true);
        base.getChildren().addAll(kielet,kansallisuudet,maat); //Lisätään kielet, kansalaisuudet ja maat.
        TreeView naytto = new TreeView(base);
        //Luodaan asettelu.
        StackPane stack = new StackPane();
        stack.getChildren().addAll(naytto);
        //Luodaan ikkuna.
        Scene scene = new Scene(stack);
        stage.setTitle("Ohjelma");
        stage.setScene(scene);
        stage.show();

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

}

Metabolix [20.06.2020 11:16:17]

#

Tästä koodista hienosti nähdään, että käyttäjätunnuksen vaihto ei paranna koodin laatua. Koodi ei taaskaan tee mitään järkevää, tiedot on kovakoodattu yksittäisiin muuttujiin taulukoiden sijasta, ja puuttuu tärkein mahdollisesti opittava sisältö eli tuon TreeViewin varsinainen hyötykäyttö.

Koodisi olisivat tervetulleita, jos kävisit asiat läpi perusteellisemmin opetusmielessä ja jos esimerkit olisivat jotenkin mielekkäitä kokonaisia ohjelmia.

Vastaus

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

Tietoa sivustosta