A következő egy hozzáadásablak alapját szolgáltatja.
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.
this.initModality(Modality.APPLICATION_MODAL);
Stage stage = (Stage) addPanel.getScene().getWindow(); stage.close();
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();
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ó:
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()); } }
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); } }
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();
dialog.setGraphic(new ImageView(this.getClass().getResource("kepnev.png").toString()));
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; }