package javafxsavetext; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TextArea; import javafx.scene.layout.VBox; import javafx.stage.FileChooser; import javafx.stage.Stage; /** * @web http://java-buddy.blogspot.com/ */ public class JavaFXSaveText extends Application { @Override public void start(Stage primaryStage) { primaryStage.setTitle("java-buddy.blogspot.com"); Group root = new Group(); TextArea textArea = new TextArea(); Button buttonSave = new Button("Save"); buttonSave.setOnAction((ActionEvent event) -> { FileChooser fileChooser = new FileChooser(); //Set extension filter FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("TXT files (*.txt)", "*.txt"); fileChooser.getExtensionFilters().add(extFilter); //Show save file dialog File file = fileChooser.showSaveDialog(primaryStage); if(file != null){ SaveFile(textArea.getText(), file); } }); VBox vBox = new VBox(); vBox.getChildren().addAll(textArea, buttonSave); root.getChildren().add(vBox); primaryStage.setScene(new Scene(root, 500, 400)); primaryStage.show(); } public static void main(String[] args) { launch(args); } private void SaveFile(String content, File file){ try { FileWriter fileWriter; fileWriter = new FileWriter(file); fileWriter.write(content); fileWriter.close(); } catch (IOException ex) { Logger.getLogger(JavaFXSaveText.class .getName()).log(Level.SEVERE, null, ex); } } }
Related:
- Read text file with JavaFX FileChooser
Hello I'm using MVC format and I Have my file chooser in my controller. I have one for my open file button and the second for my save file button. when I try to save text from textArea my file chooser still just shows the cancel and open button and wont save file from textArea (terminalOut). what might I be Doing Wrong???
ReplyDelete