synchronized void load(final File file) { if (!file.exists()) { view.showErrorDialog( MessageHelper.get(this, "fileMissingErrorTitle"), MessageHelper.get(this, "fileMissingErrorMessage", file)); view.setStatusLabelText(MessageHelper.get(this, "loadFileErrorStatus")); } else { try { byte[] data; data = HexFilesUtility.readSimpleHexFile(file); ByteView.loadBytes(view.getModel(), data); this.file = file; view.setWindowTitleAmendment(file.getAbsolutePath()); view.setStatusLabelText(MessageHelper.get(this, "fileLoadedStatus")); modelChanged = false; } catch (IOException e) { view.showErrorDialog( MessageHelper.get(this, "fileLoadingErrorTitle"), MessageHelper.get(this, "fileLoadingErrorMessage", file, e.getLocalizedMessage())); view.setStatusLabelText(MessageHelper.get(this, "loadFileErrorStatus")); } catch (ByteLoadingException e) { view.showErrorDialog(e.getTitle(), e.getLocalizedMessage()); view.setStatusLabelText(MessageHelper.get(this, "loadFileErrorStatus")); } } }