Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.13 KB | None | 0 0
  1. package application;
  2.  
  3. import javafx.application.Application;
  4. import javafx.beans.property.BooleanProperty;
  5. import javafx.beans.property.SimpleBooleanProperty;
  6. import javafx.beans.property.SimpleStringProperty;
  7. import javafx.beans.property.StringProperty;
  8. import javafx.collections.FXCollections;
  9. import javafx.collections.ObservableList;
  10. import javafx.scene.Scene;
  11. import javafx.scene.control.TableCell;
  12. import javafx.scene.control.TableColumn;
  13. import javafx.scene.control.TableView;
  14. import javafx.scene.control.cell.PropertyValueFactory;
  15. import javafx.scene.layout.VBox;
  16. import javafx.stage.Stage;
  17. import javafx.util.Callback;
  18.  
  19.  
  20. public class Main extends Application {
  21.     @Override
  22.     public void start(Stage primaryStage) {
  23.         try {
  24.             VBox root = new VBox();
  25.            
  26.             ObservableList<Person> data = FXCollections.observableArrayList(
  27.                     new Person("Jakob", "Schaal", "jakob.schaal@hotmail.com", true),
  28.                     new Person("Peter", "Müller", "p.m@hotmail.com", true),
  29.                     new Person("Luke", "Skywalker", "Luke.Skywalker@disney.com", false)
  30.                     );
  31.            
  32.             TableView<Person> table = new TableView<>();
  33.             table.setItems(data);
  34.            
  35.             TableColumn<Person, String> vornamen = new TableColumn<>("Vorname");
  36.             vornamen.setCellValueFactory(new PropertyValueFactory<Person, String>("vorname"));
  37.             TableColumn<Person, String> nachnamen = new TableColumn<>("Nachname");
  38.             nachnamen.setCellValueFactory(new PropertyValueFactory<Person, String>("nachname"));
  39.             TableColumn<Person, String> emails = new TableColumn<>("E-Mail");
  40.             emails.setCellValueFactory(new PropertyValueFactory<Person, String>("email"));
  41.             TableColumn<Person, Boolean> teilname = new TableColumn<>("Teilname");
  42.             teilname.setCellValueFactory(new PropertyValueFactory<Person, Boolean>("teilname"));
  43.             teilname.setCellFactory(new Callback<TableColumn<Person,Boolean>, TableCell<Person,Boolean>>() {
  44.  
  45.                 @Override
  46.                 public TableCell<Person, Boolean> call(
  47.                         TableColumn<Person, Boolean> param) {
  48.                     return new TeilnameCell();
  49.                 }
  50.             });
  51.            
  52.             table.getColumns().add(vornamen);
  53.             table.getColumns().add(nachnamen);
  54.             table.getColumns().add(emails);
  55.             table.getColumns().add(teilname);
  56.            
  57.             root.getChildren().add(table);
  58.            
  59.             Scene scene = new Scene(root, 550, 400);
  60.             primaryStage.setTitle("Blend Mode");
  61.             primaryStage.setScene(scene);
  62.             primaryStage.show();
  63.            
  64.         } catch(Exception e) {
  65.             e.printStackTrace();
  66.         }
  67.     }
  68.    
  69.    
  70.    
  71.     public static void main(String[] args) {
  72.         launch(args);
  73.     }
  74.    
  75.     private class TeilnameCell extends TableCell<Person, Boolean>{
  76.         @Override
  77.         protected void updateItem(Boolean item, boolean empty) {
  78.             super.updateItem(item, empty);
  79.            
  80.             if(item != null && empty == false){
  81.                 if(item){
  82.                     setText("Kursteilnehmer");
  83.                 }else{
  84.                     setText("Nicht eingeschrieben");
  85.                 }
  86.             }
  87.         }
  88.     }
  89.    
  90.    
  91.     public class Person{
  92.         private StringProperty vorname;
  93.         private StringProperty nachname;
  94.         private StringProperty email;
  95.         private BooleanProperty teilname;
  96.        
  97.         public Person(String vorname, String nachname, String email, boolean teilname){
  98.             this.vorname = new SimpleStringProperty(vorname);
  99.             this.nachname = new SimpleStringProperty(nachname);
  100.             this.email = new SimpleStringProperty(email);
  101.             this.teilname = new SimpleBooleanProperty(teilname);
  102.         }
  103.        
  104.         public String getVorname(){
  105.             return vorname.get();
  106.         }
  107.         public String getNachname(){
  108.             return nachname.get();
  109.         }
  110.         public String getEmail(){
  111.             return email.get();
  112.         }
  113.         public Boolean getTeilname(){
  114.             return teilname.get();
  115.         }
  116.        
  117.         public void setVorname(String vorname){
  118.             this.vorname.set(vorname);
  119.         }
  120.         public void setNachname(String nachname){
  121.             this.nachname.set(nachname);
  122.         }
  123.         public void setEmail(String email){
  124.             this.email.set(email);
  125.         }
  126.         public void setTeilname(Boolean teilname){
  127.             this.teilname.set(teilname);
  128.         }
  129.        
  130.        
  131.         public StringProperty vornameProperty(){
  132.             return vorname;
  133.         }
  134.         public StringProperty nachnameProperty(){
  135.             return nachname;
  136.         }
  137.         public StringProperty emailProperty(){
  138.             return email;
  139.         }
  140.         public BooleanProperty teilnameProperty(){
  141.             return teilname;
  142.         }
  143.     }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement