Artigos anteriores
- Implementando a Seleção ListView
- Utilizando Múltiplas Seleções
- ListView e Ordenação
- Remover Pessoa da Lista
O botão adicionar acrescenta uma pessoa a lista que atualiza a ListView. Um novo item é sempre ordenado porque os elementos se reordenam quando um novo item é adicionado.
<Button fx:id=”createButton” mnemonicParsing=”false”
onAction=”#createButtonAction” text=”Novo” />
Quando devo desabilitar o botão Novo?
- Quando clicar no novo, nenhum item da ListView deve estar selecionado. Podemos desabilitar o botão com a propriedade selectedItemProperty é not null.
- Não devemos criar uma pessoa se os campos nome ou sobrenome estiverem vazio desabilitamos o botão Novo se algum desses campos estiverem vazios.

A programação do botão Novo:
public void createButtonAction(ActionEvent actionEvent) {
String personName = firstnameTextField.getText();
String personSurname = lastnameTextField.getText();
String personNote = notesTextArea.getText();
if(personName.isBlank() || personSurname.isBlank()){
System.out.println("O nome e sobrenome não pode ficar em branco.");
createButton.disableProperty().bind(
listPersons.getSelectionModel().selectedItemProperty().isNotNull()
.or(firstnameTextField.textProperty().isEmpty()
.or(lastnameTextField.textProperty().isEmpty())
));
}else{
System.out.println("Adicionar Pessoa ");
Person person = new Person(personName,personSurname, personNote);
obsPerson.add(person);
listPersons.getSelectionModel().select(person);
}
}

Um problema que não consegui resolver é quando o botão Novo torna-se desabilitado voltar habilitá-lo.

Fonte: The Definitive Guide to Modern Java Clients with JavaFX





Deixe um comentário