diff --git a/CHANGELOG.md b/CHANGELOG.md
index ef5a8b1a8..65f473a73 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file.
## [Unreleased] - 2021-02-27
### Fixed
- #1623 Right side marker (gray line) in P-code
+- #1622 Slow scrolling (search results, advanced settings and others)
## [14.0.1] - 2021-02-26
### Added
diff --git a/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java b/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java
index c1069e8f0..cbc408892 100644
--- a/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java
+++ b/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java
@@ -172,7 +172,7 @@ public class AdvancedSettingsDialog extends AppDialog {
Container cnt = getContentPane();
cnt.setLayout(new BorderLayout());
- //cnt.add(new JScrollPane(configurationTable),BorderLayout.CENTER);
+ //cnt.add(new FasterScrollPane(configurationTable),BorderLayout.CENTER);
JPanel buttonsPanel = new JPanel(new BorderLayout());
@@ -487,7 +487,7 @@ public class AdvancedSettingsDialog extends AppDialog {
p.add(tipPanel, BorderLayout.SOUTH);
configPanel = p;
}
- tabs.put(cat, new JScrollPane(configPanel));
+ tabs.put(cat, new FasterScrollPane(configPanel));
}
}
diff --git a/src/com/jpexs/decompiler/flash/gui/BinaryPanel.java b/src/com/jpexs/decompiler/flash/gui/BinaryPanel.java
index f41d928df..976f5423a 100644
--- a/src/com/jpexs/decompiler/flash/gui/BinaryPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/BinaryPanel.java
@@ -50,7 +50,7 @@ public final class BinaryPanel extends JPanel {
super(new BorderLayout());
this.mainPanel = mainPanel;
- add(new JScrollPane(hexEditor), BorderLayout.CENTER);
+ add(new FasterScrollPane(hexEditor), BorderLayout.CENTER);
JPanel bottomPanel = new JPanel(new BorderLayout());
JPanel buttonsPanel = new JPanel(new FlowLayout());
diff --git a/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java b/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java
index 760e35028..596c7ed6e 100644
--- a/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java
+++ b/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java
@@ -47,7 +47,7 @@ public class DebugLogDialog extends AppDialog {
setTitle(translate("dialog.title"));
logTextArea.setBackground(Color.white);
logTextArea.setEditable(false);
- JScrollPane spane = new JScrollPane(logTextArea);
+ JScrollPane spane = new FasterScrollPane(logTextArea);
spane.setPreferredSize(new Dimension(800, 500));
debug.addMessageListener(new DebugListener() {
diff --git a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java
index a60b80951..2348d9159 100644
--- a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java
@@ -476,14 +476,14 @@ public class DebugPanel extends JPanel {
if (debugRegistersTable.getRowCount() > 0) {
tabTypes.add(SelectedTab.REGISTERS);
pa = new JPanel(new BorderLayout());
- pa.add(new JScrollPane(debugRegistersTable), BorderLayout.CENTER);
+ pa.add(new FasterScrollPane(debugRegistersTable), BorderLayout.CENTER);
varTabs.addTab(AppStrings.translate("variables.header.registers"), pa);
}
if (debugLocalsTable.getRowCount() > 0) {
tabTypes.add(SelectedTab.LOCALS);
pa = new JPanel(new BorderLayout());
- pa.add(new JScrollPane(debugLocalsTable), BorderLayout.CENTER);
+ pa.add(new FasterScrollPane(debugLocalsTable), BorderLayout.CENTER);
varTabs.addTab(AppStrings.translate("variables.header.locals"), pa);
}
@@ -491,7 +491,7 @@ public class DebugPanel extends JPanel {
tabTypes.add(SelectedTab.SCOPECHAIN);
pa = new JPanel(new BorderLayout());
- pa.add(new JScrollPane(debugScopeTable), BorderLayout.CENTER);
+ pa.add(new FasterScrollPane(debugScopeTable), BorderLayout.CENTER);
varTabs.addTab(AppStrings.translate("variables.header.scopeChain"), pa);
}
@@ -499,7 +499,7 @@ public class DebugPanel extends JPanel {
tabTypes.add(SelectedTab.CONSTANTPOOL);
pa = new JPanel(new BorderLayout());
- pa.add(new JScrollPane(constantPoolTable), BorderLayout.CENTER);
+ pa.add(new FasterScrollPane(constantPoolTable), BorderLayout.CENTER);
varTabs.addTab(AppStrings.translate("constantpool.header"), pa);
}
@@ -507,21 +507,21 @@ public class DebugPanel extends JPanel {
tabTypes.add(SelectedTab.CALLSTACK);
pa = new JPanel(new BorderLayout());
- pa.add(new JScrollPane(callStackTable), BorderLayout.CENTER);
+ pa.add(new FasterScrollPane(callStackTable), BorderLayout.CENTER);
varTabs.addTab(AppStrings.translate("callStack.header"), pa);
}
if (stackTable.getRowCount() > 0) {
tabTypes.add(SelectedTab.STACK);
pa = new JPanel(new BorderLayout());
- pa.add(new JScrollPane(stackTable), BorderLayout.CENTER);
+ pa.add(new FasterScrollPane(stackTable), BorderLayout.CENTER);
varTabs.addTab(AppStrings.translate("stack.header"), pa);
}
if (logLength > 0) {
tabTypes.add(SelectedTab.LOG);
pa = new JPanel(new BorderLayout());
- pa.add(new JScrollPane(traceLogTextarea), BorderLayout.CENTER);
+ pa.add(new FasterScrollPane(traceLogTextarea), BorderLayout.CENTER);
JButton clearButton = new JButton(AppStrings.translate("debuglog.button.clear"));
clearButton.addActionListener(new ActionListener() {
diff --git a/src/com/jpexs/decompiler/flash/gui/DocsPanel.java b/src/com/jpexs/decompiler/flash/gui/DocsPanel.java
index 27a5a00df..ee58f6f37 100644
--- a/src/com/jpexs/decompiler/flash/gui/DocsPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/DocsPanel.java
@@ -35,7 +35,7 @@ public class DocsPanel extends JPanel implements DocsListener {
public DocsPanel() {
setLayout(new BorderLayout(0, 0));
- JScrollPane sp = new JScrollPane(textDisplay);
+ JScrollPane sp = new FasterScrollPane(textDisplay);
textDisplay.setMargin(new Insets(0, 0, 0, 0));
add(sp, BorderLayout.CENTER);
diff --git a/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java b/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java
index 776097121..73e8ebe44 100644
--- a/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java
+++ b/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java
@@ -138,7 +138,7 @@ public class ErrorLogFrame extends AppFrame {
collapseIcon = View.getIcon("collapse16");
cnt.add(buttonsPanel, BorderLayout.SOUTH);
- cnt.add(new JScrollPane(logView), BorderLayout.CENTER);
+ cnt.add(new FasterScrollPane(logView), BorderLayout.CENTER);
handler = new Handler() {
SimpleFormatter formatter = new SimpleFormatter();
@@ -257,7 +257,7 @@ public class ErrorLogFrame extends AppFrame {
final JScrollPane scrollPane;
if (detailComponent != null) {
- scrollPane = new JScrollPane(detailComponent);
+ scrollPane = new FasterScrollPane(detailComponent);
scrollPane.setAlignmentX(0f);
} else {
scrollPane = null;
diff --git a/src/com/jpexs/decompiler/flash/gui/FasterScrollPane.java b/src/com/jpexs/decompiler/flash/gui/FasterScrollPane.java
new file mode 100644
index 000000000..5dffbfbf8
--- /dev/null
+++ b/src/com/jpexs/decompiler/flash/gui/FasterScrollPane.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2021 JPEXS
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package com.jpexs.decompiler.flash.gui;
+
+import java.awt.Component;
+import javax.swing.JScrollPane;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class FasterScrollPane extends JScrollPane {
+
+ public FasterScrollPane(Component view) {
+ super(view);
+ initSpeed();
+ }
+
+ public FasterScrollPane() {
+ super();
+ initSpeed();
+ }
+
+ public FasterScrollPane(int vsbPolicy, int hsbPolicy) {
+ super(vsbPolicy, hsbPolicy);
+ initSpeed();
+ }
+
+ public FasterScrollPane(Component view, int vsbPolicy, int hsbPolicy) {
+ super(view, vsbPolicy, hsbPolicy);
+ initSpeed();
+ }
+
+ private void initSpeed() {
+ getVerticalScrollBar().setUnitIncrement(20);
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java b/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java
index a04ed31d9..a224ad817 100644
--- a/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java
+++ b/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java
@@ -78,7 +78,7 @@ public class FilesChangedDialog extends AppDialog {
cnt.add(label, BorderLayout.NORTH);
filesList = new JList(listModel);
filesList.setBackground(Color.white);
- cnt.add(new JScrollPane(filesList), BorderLayout.CENTER);
+ cnt.add(new FasterScrollPane(filesList), BorderLayout.CENTER);
JPanel panButtons = new JPanel(new FlowLayout());
okButton.addActionListener(this::okButtonActionPerformed);
diff --git a/src/com/jpexs/decompiler/flash/gui/FontEmbedDialog.java b/src/com/jpexs/decompiler/flash/gui/FontEmbedDialog.java
index 5a684b404..af7e1a60e 100644
--- a/src/com/jpexs/decompiler/flash/gui/FontEmbedDialog.java
+++ b/src/com/jpexs/decompiler/flash/gui/FontEmbedDialog.java
@@ -234,7 +234,7 @@ public class FontEmbedDialog extends AppDialog {
rangeRowPanel.setAlignmentX(0);
rangesPanel.add(rangeRowPanel);
}
- cnt.add(new JScrollPane(rangesPanel));
+ cnt.add(new FasterScrollPane(rangesPanel));
JPanel specialPanel = new JPanel();
specialPanel.setLayout(new BoxLayout(specialPanel, BoxLayout.X_AXIS));
diff --git a/src/com/jpexs/decompiler/flash/gui/FontPanel.java b/src/com/jpexs/decompiler/flash/gui/FontPanel.java
index 93344a35c..04d4a9f53 100644
--- a/src/com/jpexs/decompiler/flash/gui/FontPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/FontPanel.java
@@ -245,14 +245,14 @@ public class FontPanel extends JPanel {
private void initComponents() {
- contentScrollPane = new JScrollPane();
+ contentScrollPane = new FasterScrollPane();
addCharsPanel = new JPanel();
fontParamsPanel = new JPanel();
fontNameIntagLabel = new JLabel();
- JScrollPane fontDisplayNameScrollPane = new JScrollPane();
+ JScrollPane fontDisplayNameScrollPane = new FasterScrollPane();
fontNameTextArea = new JTextArea();
JLabel jLabel3 = new JLabel();
- JScrollPane fontCopyrightScrollPane = new JScrollPane();
+ JScrollPane fontCopyrightScrollPane = new FasterScrollPane();
fontCopyrightTextArea = new JTextArea();
JLabel jLabel4 = new JLabel();
fontIsBoldCheckBox = new JCheckBox();
@@ -265,7 +265,7 @@ public class FontPanel extends JPanel {
JLabel jLabel8 = new JLabel();
fontLeadingLabel = new JLabel();
JLabel jLabel9 = new JLabel();
- fontCharactersScrollPane = new JScrollPane();
+ fontCharactersScrollPane = new FasterScrollPane();
fontCharactersTextArea = new JTextArea();
JLabel fontCharsAddLabel = new JLabel();
fontAddCharactersField = new JTextField();
diff --git a/src/com/jpexs/decompiler/flash/gui/GenericTagPanel.java b/src/com/jpexs/decompiler/flash/gui/GenericTagPanel.java
index 131e5d279..fddb8795c 100644
--- a/src/com/jpexs/decompiler/flash/gui/GenericTagPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/GenericTagPanel.java
@@ -121,14 +121,14 @@ public class GenericTagPanel extends JPanel implements ChangeListener {
}
};
genericTagPropertiesEditorPane.setEditable(false);
- genericTagPropertiesEditorPaneScrollPanel = new JScrollPane(genericTagPropertiesEditorPane);
+ genericTagPropertiesEditorPaneScrollPanel = new FasterScrollPane(genericTagPropertiesEditorPane);
add(genericTagPropertiesEditorPaneScrollPanel, BorderLayout.CENTER);
genericTagPropertiesEditPanel = new JPanel();
genericTagPropertiesEditPanel.setLayout(new SpringLayout());
JPanel edPanel = new JPanel(new BorderLayout());
edPanel.add(genericTagPropertiesEditPanel, BorderLayout.NORTH);
- genericTagPropertiesEditPanelScrollPanel = new JScrollPane(edPanel);
+ genericTagPropertiesEditPanelScrollPanel = new FasterScrollPane(edPanel);
}
public void clear() {
diff --git a/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java b/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java
index 31a400aa2..e11d9377f 100644
--- a/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java
@@ -301,7 +301,7 @@ public class GenericTagTreePanel extends GenericTagPanel {
setLayout(new BorderLayout());
tree = new MyTree();
- add(new JScrollPane(tree), BorderLayout.CENTER);
+ add(new FasterScrollPane(tree), BorderLayout.CENTER);
tree.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
diff --git a/src/com/jpexs/decompiler/flash/gui/GraphDialog.java b/src/com/jpexs/decompiler/flash/gui/GraphDialog.java
index 1140d1ea1..d2aec9bc2 100644
--- a/src/com/jpexs/decompiler/flash/gui/GraphDialog.java
+++ b/src/com/jpexs/decompiler/flash/gui/GraphDialog.java
@@ -117,8 +117,7 @@ public class GraphDialog extends AppDialog {
});
setTitle(translate("graph") + " " + name);
- JScrollPane scrollPane = new JScrollPane(gp);
- scrollPane.getVerticalScrollBar().setUnitIncrement(20);
+ JScrollPane scrollPane = new FasterScrollPane(gp);
scrollBarWidth = scrollPane.getVerticalScrollBar().getPreferredSize().width;
scrollBarHeight = scrollPane.getHorizontalScrollBar().getPreferredSize().height;
cnt.add(scrollPane, BorderLayout.CENTER);
diff --git a/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java b/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java
index 3074bdc89..7050d90bc 100644
--- a/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java
+++ b/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java
@@ -105,7 +105,7 @@ public class LoadFromCacheFrame extends AppFrame {
});
cnt.setLayout(new BorderLayout());
cnt.add(searchField, BorderLayout.NORTH);
- cnt.add(new JScrollPane(list), BorderLayout.CENTER);
+ cnt.add(new FasterScrollPane(list), BorderLayout.CENTER);
JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.Y_AXIS));
diff --git a/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java b/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java
index 84d241ba3..223a465f2 100644
--- a/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java
+++ b/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java
@@ -319,7 +319,7 @@ public class LoadFromMemoryFrame extends AppFrame {
cnt.setLayout(new BorderLayout());
JPanel leftPanel = new JPanel(new BorderLayout());
- leftPanel.add(new JScrollPane(list), BorderLayout.CENTER);
+ leftPanel.add(new FasterScrollPane(list), BorderLayout.CENTER);
JPanel leftButtonsPanel = new JPanel(new FlowLayout());
JButton selectButton = new JButton(translate("button.select"));
selectButton.addActionListener(this::selectProcessButtonActionPerformed);
@@ -330,7 +330,7 @@ public class LoadFromMemoryFrame extends AppFrame {
leftPanel.add(leftButtonsPanel, BorderLayout.SOUTH);
JPanel rightPanel = new JPanel(new BorderLayout());
- rightPanel.add(new JScrollPane(tableRes), BorderLayout.CENTER);
+ rightPanel.add(new FasterScrollPane(tableRes), BorderLayout.CENTER);
JPanel rightButtonsPanel = new JPanel(new FlowLayout());
JButton openButton = new JButton(translate("button.open"));
openButton.addActionListener(this::openSwfButtonActionPerformed);
diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java
index 10abd2607..96f1587c5 100644
--- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java
@@ -429,9 +429,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
private JPanel createFolderPreviewCard() {
JPanel folderPreviewCard = new JPanel(new BorderLayout());
folderPreviewPanel = new FolderPreviewPanel(this, new ArrayList<>());
- final JScrollPane jScrollPane = new JScrollPane(folderPreviewPanel);
- jScrollPane.getVerticalScrollBar().setUnitIncrement(20);
- folderPreviewCard.add(jScrollPane, BorderLayout.CENTER);
+ folderPreviewCard.add(new FasterScrollPane(folderPreviewPanel), BorderLayout.CENTER);
return folderPreviewCard;
}
@@ -439,7 +437,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
private JPanel createDumpPreviewCard() {
JPanel dumpViewCard = new JPanel(new BorderLayout());
dumpViewPanel = new DumpViewPanel(dumpTree);
- dumpViewCard.add(new JScrollPane(dumpViewPanel), BorderLayout.CENTER);
+ dumpViewCard.add(new FasterScrollPane(dumpViewPanel), BorderLayout.CENTER);
return dumpViewCard;
}
@@ -3306,13 +3304,13 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
private JPanel createDumpViewCard() {
JPanel r = new JPanel(new BorderLayout());
- r.add(new JPersistentSplitPane(JSplitPane.VERTICAL_SPLIT, new JScrollPane(dumpTree), dumpPreviewPanel, Configuration.guiDumpSplitPaneDividerLocationPercent), BorderLayout.CENTER);
+ r.add(new JPersistentSplitPane(JSplitPane.VERTICAL_SPLIT, new FasterScrollPane(dumpTree), dumpPreviewPanel, Configuration.guiDumpSplitPaneDividerLocationPercent), BorderLayout.CENTER);
return r;
}
private JPanel createResourcesViewCard() {
JPanel r = new JPanel(new BorderLayout());
- r.add(new JScrollPane(tagTree), BorderLayout.CENTER);
+ r.add(new FasterScrollPane(tagTree), BorderLayout.CENTER);
r.add(searchPanel, BorderLayout.SOUTH);
return r;
}
diff --git a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java
index 143528451..eeb51f0d2 100644
--- a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java
@@ -352,7 +352,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel
private JPanel createMetadataCard() {
JPanel metadataCard = new JPanel(new BorderLayout());
metadataEditor = new LineMarkedEditorPane();
- metadataCard.add(new JScrollPane(metadataEditor), BorderLayout.CENTER);
+ metadataCard.add(new FasterScrollPane(metadataEditor), BorderLayout.CENTER);
//metadataEditor.setContentType("text/xml");
metadataEditor.setEditable(false);
diff --git a/src/com/jpexs/decompiler/flash/gui/SearchResultsDialog.java b/src/com/jpexs/decompiler/flash/gui/SearchResultsDialog.java
index 0656c29da..7d51d586b 100644
--- a/src/com/jpexs/decompiler/flash/gui/SearchResultsDialog.java
+++ b/src/com/jpexs/decompiler/flash/gui/SearchResultsDialog.java
@@ -306,7 +306,7 @@ public class SearchResultsDialog extends AppDialog {
resultsPanel.add(resultsTree, "tree");
resultsPanel.add(resultsList, "list");
- JScrollPane sp = new JScrollPane(resultsPanel);
+ JScrollPane sp = new FasterScrollPane(resultsPanel);
sp.setPreferredSize(new Dimension(300, 300));
cnt.add(sp, BorderLayout.CENTER);
diff --git a/src/com/jpexs/decompiler/flash/gui/TagInfoPanel.java b/src/com/jpexs/decompiler/flash/gui/TagInfoPanel.java
index ad8378136..b557ec227 100644
--- a/src/com/jpexs/decompiler/flash/gui/TagInfoPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/TagInfoPanel.java
@@ -54,7 +54,7 @@ public class TagInfoPanel extends JPanel {
setLayout(new BorderLayout());
JLabel topLabel = new JLabel(AppStrings.translate("taginfo.header"), JLabel.CENTER);
add(topLabel, BorderLayout.NORTH);
- add(new JScrollPane(editorPane), BorderLayout.CENTER);
+ add(new FasterScrollPane(editorPane), BorderLayout.CENTER);
editorPane.setContentType("text/html");
editorPane.setEditable(false);
diff --git a/src/com/jpexs/decompiler/flash/gui/TextPanel.java b/src/com/jpexs/decompiler/flash/gui/TextPanel.java
index c3c96802e..92580699c 100644
--- a/src/com/jpexs/decompiler/flash/gui/TextPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/TextPanel.java
@@ -99,7 +99,7 @@ public class TextPanel extends JPanel implements TagEditorPanel {
topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.Y_AXIS));
topPanel.add(textSearchPanel);
textValue = new LineMarkedEditorPane();
- add(new JScrollPane(textValue), BorderLayout.CENTER);
+ add(new FasterScrollPane(textValue), BorderLayout.CENTER);
textValue.setFont(Configuration.getSourceFont());
textValue.changeContentType("text/swftext");
textValue.addTextChangedListener(this::textChanged);
diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java
index dae7f6a79..bcf3241a7 100644
--- a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java
@@ -50,6 +50,7 @@ import com.jpexs.decompiler.flash.gui.AppDialog;
import com.jpexs.decompiler.flash.gui.AppStrings;
import com.jpexs.decompiler.flash.gui.DebugPanel;
import com.jpexs.decompiler.flash.gui.DebuggerHandler;
+import com.jpexs.decompiler.flash.gui.FasterScrollPane;
import com.jpexs.decompiler.flash.gui.HeaderLabel;
import com.jpexs.decompiler.flash.gui.Main;
import com.jpexs.decompiler.flash.gui.MainPanel;
@@ -911,7 +912,7 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener