Advertisement
Guest User

Untitled

a guest
Nov 12th, 2015
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.85 KB | None | 0 0
  1. package application;
  2.    
  3. import javafx.application.Application;
  4. import javafx.beans.property.SimpleObjectProperty;
  5. import javafx.beans.property.SimpleStringProperty;
  6. import javafx.beans.property.StringProperty;
  7. import javafx.beans.value.ObservableValue;
  8. import javafx.collections.FXCollections;
  9. import javafx.collections.ObservableList;
  10. import javafx.event.ActionEvent;
  11. import javafx.event.EventHandler;
  12. import javafx.stage.Stage;
  13. import javafx.scene.Scene;
  14. import javafx.scene.control.Button;
  15. import javafx.scene.control.TableColumn;
  16. import javafx.scene.control.TableColumn.CellDataFeatures;
  17. import javafx.scene.control.TableView;
  18. import javafx.scene.control.cell.PropertyValueFactory;
  19. import javafx.scene.layout.VBox;
  20. import javafx.util.Callback;
  21.  
  22.  
  23. public class Main extends Application {
  24.     public ObservableList<Person> data = FXCollections.observableArrayList(
  25.             new Person("Jakob", "Schaal", "jakob.schaal@hotmail.com"),
  26.             new Person("Peter", "Müller", "peter.mueller@outlook.com"),
  27.             new Person("Luke", "Skywalker", "luke.skywalker@disney.com")
  28.     );
  29.    
  30.     @Override
  31.     public void start(Stage primaryStage) {
  32.         try {
  33.             VBox root = new VBox();
  34.            
  35.            
  36.            
  37.             TableView<Person> table = new TableView<>();
  38.             table.setItems(data);
  39.            
  40.            
  41.             TableColumn<Person, String> vornamen = new TableColumn<>("Vorname");
  42.             vornamen.setCellValueFactory(new PropertyValueFactory<Person, String>("vorname"));
  43.             TableColumn<Person, String> nachnamen = new TableColumn<>("Nachname");
  44.             nachnamen.setCellValueFactory(new PropertyValueFactory<Person, String>("nachname"));
  45.             TableColumn<Person, String> emails = new TableColumn<>("E-Mail");
  46.             emails.setCellValueFactory(new PropertyValueFactory<Person, String>("email"));
  47.            
  48.             TableColumn<Person, Button> delete = new TableColumn<>("Löschen");
  49.             delete.setSortable(false); //Nach den Buttons zu sortieren macht nicht wirklich viel Sinn...
  50.             delete.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Person, Button>, ObservableValue<Button>>() {
  51.  
  52.                         @Override
  53.                         public ObservableValue<Button> call(
  54.                                 CellDataFeatures<Person, Button> p) {
  55.                             Button b = new Button("Löschen");
  56.                             b.setOnAction(new EventHandler<ActionEvent>(){
  57.  
  58.                                 @Override
  59.                                 public void handle(ActionEvent event) {
  60.                                     data.remove(p.getValue());
  61.                                 }
  62.                                
  63.                             });
  64.                             System.out.println(p.getValue());
  65.                            
  66.                             return new SimpleObjectProperty<Button>(b);
  67.                         }
  68.             });
  69.  
  70.             table.getColumns().add(vornamen);
  71.             table.getColumns().add(nachnamen);
  72.             table.getColumns().add(emails);
  73.             table.getColumns().add(delete);
  74.            
  75.             root.getChildren().add(table);
  76.            
  77.             Scene scene = new Scene(root,400,400);
  78.             primaryStage.setScene(scene);
  79.             primaryStage.show();
  80.         } catch(Exception e) {
  81.             e.printStackTrace();
  82.         }
  83.     }
  84.    
  85.     public static void main(String[] args) {
  86.         launch(args);
  87.     }
  88.    
  89.     public class Person{
  90.         private StringProperty vorname;
  91.         private StringProperty nachname;
  92.         private StringProperty email;
  93.        
  94.         public Person(String vorname, String nachname, String email){
  95.             this.vorname = new SimpleStringProperty(vorname);
  96.             this.nachname = new SimpleStringProperty(nachname);
  97.             this.email = new SimpleStringProperty(email);
  98.         }
  99.        
  100.         public String getVorname(){
  101.             return vorname.get();
  102.         }
  103.         public void setVorname(String vorname){
  104.             this.vorname.set(vorname);
  105.         }
  106.         public StringProperty vornameProperty(){
  107.             return vorname;
  108.         }
  109.        
  110.         public String getNachname(){
  111.             return nachname.get();
  112.         }
  113.         public void setNachname(String nachname){
  114.             this.nachname.set(nachname);
  115.         }
  116.         public StringProperty nachnameProperty(){
  117.             return nachname;
  118.         }
  119.        
  120.         public String getEmail(){
  121.             return email.get();
  122.         }
  123.         public void setEmail(String email){
  124.             this.email.set(email);
  125.         }
  126.         public StringProperty emailProperty(){
  127.             return email;
  128.         }
  129.     }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement