package korgpkgedit; import javafx.scene.control.ChoiceBox; import javafx.stage.FileChooser; import javafx.stage.Stage; import korgpkg.Chunk; import korgpkg.SystemFileChunk; import java.io.File; import java.io.FileInputStream; import java.io.IOException; /** * Created by korgeaux on 31.05.2016. */ public class SystemFileEditController implements ChunkEditController { private Stage stage; private SystemFileChunk systemFileChunk; private byte[] data; public ChoiceBox type; public void setup(Stage stage, Chunk chunk) { this.stage = stage; this.systemFileChunk = (SystemFileChunk) chunk; stage.setTitle(systemFileChunk.toString()); type.getSelectionModel().select(systemFileChunk.getId() - 2); } public void importDataAction() { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open File"); fileChooser.getExtensionFilters().addAll( new FileChooser.ExtensionFilter("All files", "*.*") ); File file = fileChooser.showOpenDialog(stage); if (file != null) { try { FileInputStream fileInputStream = new FileInputStream(file); data = new byte[(int) file.length()]; fileInputStream.read(data, 0, (int) file.length()); fileInputStream.close(); } catch (IOException e) { System.err.println(e.getMessage()); } } } public void saveChunkAction() { systemFileChunk.setId(type.getSelectionModel().getSelectedIndex() + 2); if (data != null) systemFileChunk.setData(data); stage.close(); } }