Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package gui;
- import java.util.ArrayList;
- import storage.Storage;
- import model.Tilmelding;
- import javafx.beans.value.ChangeListener;
- import javafx.geometry.Insets;
- import javafx.geometry.Pos;
- import javafx.scene.control.Button;
- import javafx.scene.control.CheckBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.ListView;
- import javafx.scene.control.TextField;
- import javafx.scene.layout.GridPane;
- import javafx.scene.layout.HBox;
- public class DeltagerPane extends GridPane {
- private Label lblNavn1 = new Label("Navn: "), lblAdr1 = new Label(
- "Adresse: "), lblTlf1 = new Label("Tlf. nr.: "),
- lblLedsager1 = new Label("Ledsager: "), lblFirma1 = new Label(
- "Firma: "), lblForedragsholder1 = new Label(
- "Foredragsholder: "), lblAnkomstDato1 = new Label(
- "Ankomst Dato: "), lblAfrejseDato1 = new Label(
- "Afrejse Dato: "), lblHotel1 = new Label("Hotel: "),
- lblHotelTillaeg1 = new Label("Hotel tillæg: "),
- lblUdflugter1 = new Label("Udflugter: ");
- private Label lblNavn2 = new Label(), lblAdr2 = new Label(),
- lblTlf2 = new Label(), lblLedsager2 = new Label(),
- lblFirma2 = new Label(), lblForedragsholder2 = new Label(),
- lblAnkomstDato2 = new Label(), lblAfrejseDato2 = new Label(),
- lblHotel2 = new Label(), lblHotelTillaeg2 = new Label(),
- lblUdflugter2 = new Label();
- private Label[] lblList1 = new Label[] { lblNavn1, lblAdr1, lblTlf1,
- lblLedsager1, lblFirma1, lblForedragsholder1, lblHotel1,
- lblAnkomstDato1, lblAfrejseDato1, lblHotelTillaeg1, lblUdflugter1 };
- private Label[] lblList2 = new Label[] { lblNavn2, lblAdr2, lblTlf2,
- lblLedsager2, lblFirma2, lblForedragsholder2, lblHotel2,
- lblAnkomstDato2, lblAfrejseDato2, lblHotelTillaeg2, lblUdflugter2 };
- private Label lblTilmeldte1 = new Label("Tilmeldte: ");
- private ListView<Tilmelding> lvwDeltagere = new ListView<>();
- public DeltagerPane() {
- this.setPadding(new Insets(20));
- this.setHgap(20);
- this.setVgap(10);
- this.setGridLinesVisible(false);
- // left column
- Label lblDeltagere = new Label("Deltagere");
- this.add(lblDeltagere, 0, 0, 1, 1);
- this.add(lvwDeltagere, 0, 1, 1, 1);
- lvwDeltagere.setPrefHeight(200);
- lvwDeltagere.setPrefWidth(250);
- lvwDeltagere.getItems().setAll(this.getDeltagere());
- this.add(lblTilmeldte1, 0, 2, 1, 1);
- ChangeListener<Tilmelding> listener = (ov, oldKonference, newKonference) -> this
- .selectedDeltagerChanged();
- lvwDeltagere.getSelectionModel().selectedItemProperty()
- .addListener(listener);
- // right column
- GridPane rightColumn = new GridPane();
- rightColumn.setHgap(20);
- rightColumn.setVgap(5);
- this.add(rightColumn, 1, 1, 1, 1);
- for (int i = 0; i < lblList1.length; i++) {
- rightColumn.add(lblList1[i], 0, i);
- }
- for (int i = 0; i < lblList2.length; i++) {
- rightColumn.add(lblList2[i], 1, i);
- }
- HBox hbxButtons = new HBox(40);
- this.add(hbxButtons, 0, 4, 3, 1);
- hbxButtons.setPadding(new Insets(10, 0, 0, 0));
- hbxButtons.setAlignment(Pos.BASELINE_CENTER);
- Button btnCreate = new Button("Create");
- hbxButtons.getChildren().add(btnCreate);
- btnCreate.setOnAction(event -> this.createAction());
- Button btnUpdate = new Button("Update");
- hbxButtons.getChildren().add(btnUpdate);
- btnUpdate.setOnAction(event -> this.updateAction());
- Button btnDelete = new Button("Delete");
- hbxButtons.getChildren().add(btnDelete);
- btnDelete.setOnAction(event -> this.deleteAction());
- this.initControl();
- }
- private Object deleteAction() {
- // TODO Auto-generated method stub
- return null;
- }
- private void updateAction() {
- Tilmelding tilmelding = lvwDeltagere.getSelectionModel()
- .getSelectedItem();
- if (tilmelding == null)
- return;
- DeltagerDialog dia = new DeltagerDialog("Update Deltager", tilmelding);
- dia.showAndWait();
- // Wait for the modal dialog to close
- int selectIndex = lvwDeltagere.getSelectionModel().getSelectedIndex();
- lvwDeltagere.getItems().setAll(this.getDeltagere());
- lvwDeltagere.getSelectionModel().select(selectIndex);
- }
- private void createAction() {
- {
- DeltagerDialog dia = new DeltagerDialog("Opret Tilmelding");
- dia.showAndWait();
- // Wait for the modal dialog to close
- lvwDeltagere.getItems().setAll(Storage.getTilmeldinger());
- int index = lvwDeltagere.getItems().size() - 1;
- lvwDeltagere.getSelectionModel().select(index);
- }
- }
- // Methods
- private void initControl() {
- lvwDeltagere.getSelectionModel().select(0);
- lblTilmeldte1.setText("Tilmeldte: "
- + String.valueOf(Gui.getSelectedKonference().getTilmeldinger()
- .size()));
- this.updateControls();
- }
- public void tabSwitch() {
- lvwDeltagere.getItems().setAll(getDeltagere());
- lblTilmeldte1.setText("Tilmeldte: "
- + String.valueOf(Gui.getSelectedKonference().getTilmeldinger()
- .size()));
- }
- private ArrayList<Tilmelding> getDeltagere() {
- ArrayList<Tilmelding> deltagere = new ArrayList<>();
- for (Tilmelding tilmelding : Gui.getSelectedKonference()
- .getTilmeldinger()) {
- deltagere.add(tilmelding);
- }
- return deltagere;
- }
- private void selectedDeltagerChanged() {
- this.updateControls();
- }
- private void updateControls() {
- Tilmelding tilmelding = lvwDeltagere.getSelectionModel()
- .getSelectedItem();
- if (tilmelding != null) {
- lblNavn2.setText(tilmelding.getDeltager().getNavn());
- lblAdr2.setText(tilmelding.getDeltager().getAdresse());
- lblTlf2.setText(tilmelding.getDeltager().getTlfNr());
- if (tilmelding.getDeltager().getLedsager() != null) {
- lblLedsager2.setText(tilmelding.getDeltager().getLedsager()
- .toString());
- } else {
- lblLedsager2.setText("Ingen ledsager");
- }
- if (tilmelding.getDeltager().getFirma() != null) {
- lblFirma2.setText(tilmelding.getDeltager().getFirma()
- .toString());
- } else {
- lblFirma2.setText("Intet firma");
- }
- if (tilmelding.isForedragsholder()) {
- lblForedragsholder2.setText("Ja");
- } else {
- lblForedragsholder2.setText("Nej");
- }
- if (tilmelding.getHotel() != null) {
- lblHotel2.setText(tilmelding.getHotel().toString());
- lblAnkomstDato2.setText(String.valueOf(tilmelding
- .getAnkomstdato()));
- lblAfrejseDato2.setText(String.valueOf(tilmelding
- .getAfrejsedato()));
- if (tilmelding.isTillaegHotel()) {
- lblHotelTillaeg2.setText("Ja");
- } else {
- lblHotelTillaeg2.setText("Nej");
- }
- } else {
- lblHotel2.setText("");
- lblAnkomstDato2.setText("");
- lblAfrejseDato2.setText("");
- lblHotelTillaeg2.setText("");
- }
- if (tilmelding.getUdflugter() != null
- && tilmelding.getUdflugter().size() > 0) {
- String tempUdflugter = "";
- for (int i = 0; i < tilmelding.getUdflugter().size(); i++) {
- if (i == 0) {
- tempUdflugter += tilmelding.getUdflugter().get(i)
- .toString();
- } else {
- tempUdflugter += ", "
- + tilmelding.getUdflugter().get(i).toString();
- }
- }
- lblUdflugter2.setText(tempUdflugter);
- } else {
- lblUdflugter2.setText("");
- }
- } else {
- lblNavn2.setText("");
- lblAdr2.setText("");
- lblTlf2.setText("");
- lblLedsager2.setText("");
- lblFirma2.setText("");
- lblForedragsholder2.setText("");
- lblHotel2.setText("");
- lblAnkomstDato2.setText("");
- lblAfrejseDato2.setText("");
- lblHotelTillaeg2.setText("");
- lblHotel2.setText("");
- lblAnkomstDato2.setText("");
- lblAfrejseDato2.setText("");
- lblHotelTillaeg2.setText("");
- lblUdflugter2.setText("");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement