📊 Capítulo 18: Interfaces Desktop com JavaFX
Especialização em Sistemas com Java
🗺️ O Padrão MVC e a Arquitetura do JavaFX
flowchart TD
FXML["View: Arquivo FXML Declarativo (Desenhado visualmente no SceneBuilder)"]
--> CONTROLLER["Controller Java (@FXML private TextField txtNome; @FXML private Button btnSalvar)"]
CONTROLLER --> MODEL["Model (Entidades de Domínio, DAOs, Regras de Negócio)"]
CONTROLLER --> STAGE["Stage (Janela Nativa do Sistema Operacional)"]
STAGE --> SCENE["Scene (Árvore de Nós / Scene Graph com CSS styling)"]
style FXML fill:#ede7f6,stroke:#512da8,stroke-width:2px
style CONTROLLER fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style MODEL fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style STAGE fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style SCENE fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
🎯 Slide 1: JavaFX vs Swing Legado
-
Swing (Legado dos anos 90): Layout imperativo complexo, renderização não acelerada por hardware e aparência datada.
- JavaFX Moderno: Renderização acelerada por GPU (DirectX / OpenGL), separação perfeita entre interface FXML e código Java, e suporte a estilização visual completa com CSS nativo!
🎯 Slide 2: Injeção de Controles com @FXML
public class FormularioController {
@FXML
private TextField txtNome;
@FXML
private Button btnEnviar;
@FXML
public void onBtnEnviarAction() {
Alerts.showAlert("Sucesso", null, "Olá, " + txtNome.getText(), AlertType.INFORMATION);
}
}
🎯 Slide 3: ObservableList e TableView
- As tabelas no JavaFX reagem automaticamente a inserções e remoções na lista observável sem precisar chamar nenhum método manual de refresh de tela!
🔗 Navegação do Capítulo 18
| 📖 Ler Conteúdo Completo | 🧠 Fazer Quiz | 💻 Ver Exemplos | 🧩 Exercícios |
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim