From 8a55e52ff80b4fd37a60c538e1e87eac56d61b88 Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Tue, 23 Jun 2015 14:50:23 +0200 Subject: [PATCH] better way to scroll the selected view to visible --- .../jpexs/decompiler/flash/gui/MainPanel.java | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index 85bbbce83..ae3d976bd 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -162,6 +162,8 @@ import java.awt.dnd.DragSourceListener; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetDropEvent; import java.awt.event.ActionEvent; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; @@ -533,6 +535,15 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se } }); + tagTree.addComponentListener(new ComponentAdapter() { + + @Override + public void componentResized(ComponentEvent e) { + tagTree.scrollPathToVisible(tagTree.getSelectionPath()); + } + + }); + DragSource dragSource = DragSource.getDefaultDragSource(); dragSource.createDefaultDragGestureRecognizer(tagTree, DnDConstants.ACTION_COPY_OR_MOVE, new DragGestureListener() { @Override @@ -2635,23 +2646,6 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se } else { if (!detailPanel.isVisible()) { detailPanel.setVisible(true); - - new Thread() { - - @Override - public void run() { - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - logger.log(Level.SEVERE, null, ex); - } - - View.execInEventDispatch(() -> { - tagTree.scrollPathToVisible(tagTree.getSelectionPath()); - }); - } - - }.start(); } } }