diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e0ce3c25..1bb54bb34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,17 @@ # Change Log All notable changes to this project will be documented in this file. +## [Unreleased] +### Added +- Java 9+ support + +### Removed +- Due to Java9+ limited support of reflection, following features were removed: +- Support for detecting installed fonts - affects fonts editation +- XML import/export +- Raw editation of tags +- Generic editation of tags through treeview (affects tags like FileAttributes, ExportAssets) + ## [11.3.0] - 2020-04-25 ### Added - Possibility to open SWF files using open on Mac diff --git a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java index a3ab227c2..fc95982a3 100644 --- a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java +++ b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java @@ -443,6 +443,7 @@ public class CommandLineArgumentParser { out.println(" ...Decompress and save it to "); } + /* UNAVAILABLE IN JAVA9+ if (filter == null || filter.equals("swf2xml")) { out.println(" " + (cnt++) + ") -swf2xml "); out.println(" ...Converts the SWF to XML file"); @@ -451,7 +452,7 @@ public class CommandLineArgumentParser { if (filter == null || filter.equals("xml2swf")) { out.println(" " + (cnt++) + ") -xml2swf "); out.println(" ...Converts the XML to SWF file"); - } + }*/ if (filter == null || filter.equals("extract")) { out.println(" " + (cnt++) + ") -extract [-o |] [nocheck] [(all|biggest|smallest|first|last)]"); @@ -893,11 +894,12 @@ public class CommandLineArgumentParser { parseCompress(args); } else if (command.equals("decompress")) { parseDecompress(args); - } else if (command.equals("swf2xml")) { + } else/* UNAVAILABLE IN JAVA9+ + if (command.equals("swf2xml")) { parseSwf2Xml(args); } else if (command.equals("xml2swf")) { parseXml2Swf(args); - } else if (command.equals("extract")) { + } else*/ if (command.equals("extract")) { parseExtract(args); } else if (command.equals("memorysearch")) { parseMemorySearch(args); diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java b/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java index de08c62d6..03ee60156 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java @@ -724,13 +724,13 @@ public abstract class MainFrameMenu implements MenuBuilder { setMenuEnabled("/file/export/exportFla", swfSelected && !isWorking); setMenuEnabled("_/exportSelected", swfSelected && !isWorking); setMenuEnabled("/file/export/exportSelected", swfSelected && !isWorking); - setMenuEnabled("/file/export/exportXml", swfSelected && !isWorking); + setMenuEnabled("/file/export/exportXml", false /*NOT AVAILABLE IN JAVA9+*/); //swfSelected && !isWorking); setMenuEnabled("/file/import", swfSelected); setMenuEnabled("/file/import/importText", swfSelected && !isWorking); setMenuEnabled("/file/import/importScript", swfSelected && !isWorking); setMenuEnabled("/file/import/importSymbolClass", swfSelected && !isWorking); - setMenuEnabled("/file/import/importXml", swfSelected && !isWorking); + setMenuEnabled("/file/import/importXml", false /*NOT AVAILABLE IN JAVA9+*/); //swfSelected && !isWorking); setMenuEnabled("/tools/deobfuscation", swfSelected); setMenuEnabled("/tools/deobfuscation/renameOneIdentifier", swfSelected && !isWorking); diff --git a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java index bdf82887a..c531b21db 100644 --- a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java @@ -560,6 +560,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel public void showGenericTagPanel(Tag tag) { showCardLeft(GENERIC_TAG_CARD); genericEditButton.setVisible(!tag.isReadOnly()); + genericEditButton.setEnabled(false/*NOT AVAILABLE IN JAVA9+*/); genericSaveButton.setVisible(false); genericCancelButton.setVisible(false); genericTagPanel.setEditMode(false, tag); diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java index 342f476cd..0edbd3b05 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java @@ -149,6 +149,7 @@ public class TagTreeContextMenu extends JPopupMenu { rawEditMenuItem = new JMenuItem(mainPanel.translate("contextmenu.rawEdit")); rawEditMenuItem.addActionListener(this::rawEditActionPerformed); + rawEditMenuItem.setEnabled(false); //NOT AVAILABLE IN Java9+ add(rawEditMenuItem); jumpToCharacterMenuItem = new JMenuItem(mainPanel.translate("contextmenu.jumpToCharacter"));