oktatas:programozas:java:java_fx:parbeszedablak
Tartalomjegyzék
JavaFX - Párbeszédablak
- Szerző: Sallai András
- Copyright © Sallai András, 2023
- Web: https://szit.hu
Gyermekablak létrehozása
A következő egy hozzáadásablak alapját szolgáltatja.
- AddStage
package views.add; import javafx.scene.Scene; import javafx.stage.Modality; import javafx.stage.Stage; public class AddStage extends Stage { public AddStage() { this.setTitle("Hozzáadás"); this.initModality(Modality.APPLICATION_MODAL); AddPanel addPanel = new AddPanel(); Scene scene = new Scene(addPanel, 300, 200); this.setScene(scene); } }
Az AddPanel-en találhatók a további kontrollok.
Modális ablak beállítása
this.initModality(Modality.APPLICATION_MODAL);
Ablak bezárása
Stage stage = (Stage) addPanel.getScene().getWindow(); stage.close();
A showAndWait()
A show() utáni utasítások az ablak megjelenítésétől függetlenül lefutnak.
System.out.println("Hozzáadás..."); addView.show(); System.out.println("Az adatok újrakérése"); mainView.getTablePanel().getProducts();
Ha a showAndWait() metódust használjuk, az ezt követő metódusok megvárják az ablak bezárását.
System.out.println("Hozzáadás..."); addView.showAndWait(); System.out.println("Az adatok újrakérése"); mainView.getTablePanel().getProducts();
A Dialog osztály
- src/TestDialog.java
import javafx.scene.control.ButtonType; import javafx.scene.control.Dialog; import javafx.scene.control.ButtonBar.ButtonData; public class TestDialog extends Dialog<String> { public TestDialog() { this.setTitle("Teszt"); ButtonType type = new ButtonType("Ok", ButtonData.OK_DONE); this.getDialogPane().getButtonTypes().add(type); this.setContentText("Teszt"); } }
A <String> a visszatérési érték típusa.
Megjelenítés:
new TestDialog().show();
Dokumentáció:
Kontrollok tartalomként
- src/TestDialog.java
import javafx.scene.control.ButtonType; import javafx.scene.control.Dialog; import javafx.scene.control.ButtonBar.ButtonData; public class TestDialog extends Dialog<String> { public TestDialog() { this.setTitle("Teszt"); ButtonType type = new ButtonType("Mentés", ButtonData.OK_DONE); this.getDialogPane().getButtonTypes().add(type); this.getDialogPane().setContent(new AddView()); } }
- src/AddView.java
import javafx.scene.layout.VBox; import views.InputPanel; public class AddView extends VBox { InputPanel nameInput; InputPanel actnumberInput; public AddView() { this.initComponent(); this.addComponent(); } private void initComponent() { this.nameInput = new InputPanel("Név"); this.actnumberInput = new InputPanel("Cikkszám"); } private void addComponent() { this.getChildren().add(this.nameInput); this.getChildren().add(this.actnumberInput); } }
- InputPanel.java
package views; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.HBox; public class InputPanel extends HBox { Label label; TextField field; public InputPanel() { this.initComponent(); this.addComponent(); } public InputPanel(String text) { this.initComponent(); this.addComponent(); this.label.setText(text); } private void initComponent() { this.label = new Label(); this.field = new TextField(); this.label.setMinWidth(100); } private void addComponent() { this.getChildren().add(this.label); this.getChildren().add(this.field); } }
Futtatás:
new TestDialog().show();
Kép
dialog.setGraphic(new ImageView(this.getClass().getResource("kepnev.png").toString()));
Alert
Törlést megerősítő metódus:
private boolean confirmDelete() { Alert alert = new Alert(AlertType.CONFIRMATION ); alert.setTitle("Törlés"); alert.setHeaderText("Törlés"); alert.setContentText("Biztosan törlöd?"); alert.showAndWait(); if (alert.getResult() == ButtonType.OK) return true; else return false; }
oktatas/programozas/java/java_fx/parbeszedablak.txt · Utolsó módosítás: 2023/02/19 21:42 szerkesztette: admin