Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

OsobaDialog

Ošetření výjimky při parsování dataNarození. Jde o to, že Netbeans v části (řádek 96): catch( ParseException | IllegalArgumentException ex) píše, že mám odstranit klaluzuli ParseException.

java

package upominacnarozenin;


import java.text.ParseException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.scene.layout.GridPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import javafx.stage.Window;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Roman64
 */
public class OsobaDialog extends Stage{
    
    private Osoba osoba =  null;
    
    TextField jmenoTextField =  new TextField(); // jsou final aby mohli býti čteny z metody vnitřní třídy (?)
    TextField datumNarozeniTextField = new TextField();
    
    private ErrorMsg errorMsg = new ErrorMsg();
    

    public OsobaDialog(Window okno) { // konstruktor
        setTitle("Nová osoba");
        setWidth(350);
        setHeight(200);
        
        initStyle(StageStyle.UTILITY);
        initModality(Modality.WINDOW_MODAL);
        initOwner(okno);
        setScene(vytvorScenu());
        
    }

    public Osoba getOsoba() {
        return osoba;
    }
    
    
    
    private Scene vytvorScenu(){   // vytvoření Scény
        //kontejner
        VBox box = new VBox();
        box.setAlignment(Pos.CENTER);
        box.setSpacing(20);
        
        //mřížka pro TextFiled a Label
        GridPane grid = new GridPane();
        grid.setAlignment(Pos.CENTER);
        grid.setPadding(new Insets(10));
        grid.setHgap(10);
        grid.setVgap(10);
        
        //textFiel-y a Label-y:
        Label jmenoLabel = new Label("Jméno");
        Label datumNarozeniLabel = new Label("Datum narození");
        // TextField jmenoTextField =  new TextField(); //dal jsem ji jako atributy třídy 
        // TextField datumNarozeniTextField = new TextField(); //dal jsem ji jako atributy třídy 

        
        //umístění TextField-ů a Label-ů do mřížky:
         grid.add(jmenoLabel, 0, 0);
         grid.add(datumNarozeniLabel, 0, 1);
         grid.add(jmenoTextField, 1, 0);
         grid.add(datumNarozeniTextField, 1, 1);
         
         Button tlacitko = new Button("Přidat");
         tlacitko.setOnAction(new EventHandler<ActionEvent>() // anomymní třída EventHandler, která obsluhuje tlačítko "Přidat"
            {   @Override
                public void handle(ActionEvent event) {
                   try {
                        LocalDate datumNarozeniny = LocalDate.parse(datumNarozeniTextField.getText(), DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM));
                        osoba = new Osoba(jmenoTextField.getText(), datumNarozeniny);
                        hide(); // skrytí formuláře...
                   }
                   catch( ParseException | IllegalArgumentException ex) { // TADY MI NETBEANS HÁZÍ CHYBU: "remove catch ParseException clause"
                       System.out.println("Chyba:"+ ex.getLocalizedMessage() );
                       errorMsg.ukazErrorMessage(jmenoTextField.getScene().getWindow(),ex.getLocalizedMessage());
                       errorMsg.showAndWait();
                   }
                }
            }
         );
         
         box.getChildren().addAll(grid, tlacitko); // grid a tlacitko přidáme do kontejnetu box (třída VBox)
         //Scene scene = new Scene(box);
         return new Scene(box); // vytvoří novou Scenu a vrátí na ní referenci
    }
    
    
}

Neformátovaný

Přidáno: 14.7.2015
Expirace: Neuvedeno

Avatar
Autor: roman64
Aktivity