Revision: 4708 http://sourceforge.net/p/jump-pilot/code/4708 Author: edso Date: 2015-12-27 20:02:37 +0000 (Sun, 27 Dec 2015) Log Message: ----------- keep scrollbar positions intact after panel update
Modified Paths: -------------- core/trunk/src/com/vividsolutions/jump/workbench/ui/AboutDialog.java core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/AboutDialog.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/AboutDialog.java 2015-12-27 20:01:47 UTC (rev 4707) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/AboutDialog.java 2015-12-27 20:02:37 UTC (rev 4708) @@ -64,6 +64,9 @@ import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; +import javax.swing.event.AncestorEvent; +import javax.swing.event.AncestorListener; import com.vividsolutions.jump.I18N; import com.vividsolutions.jump.JUMPVersion; @@ -303,6 +306,36 @@ extScroll.setBorder(BorderFactory.createEmptyBorder()); jTabbedPane1.addTab(I18N.get("ui.AboutDialog.Extensions"), extScroll); + extScroll.addAncestorListener(new AncestorListener() { + int h = 0, v = 0; + + @Override + public void ancestorRemoved(AncestorEvent event) { + h = extScroll.getHorizontalScrollBar().getValue(); + v = extScroll.getVerticalScrollBar().getValue(); + } + + @Override + public void ancestorMoved(AncestorEvent event) { + h = extScroll.getHorizontalScrollBar().getValue(); + v = extScroll.getVerticalScrollBar().getValue(); + } + + // reload if the tab is activated + @Override + public void ancestorAdded(AncestorEvent event) { + + extensionsAboutPanel.refresh(); + // restore scrollbar positions after refresh + SwingUtilities.invokeLater(new Runnable() { + public void run() { + extScroll.getHorizontalScrollBar().setValue(h); + extScroll.getVerticalScrollBar().setValue(v); + } + }); + } + }); + // add tabbedpane add(jTabbedPane1, BorderLayout.CENTER); Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java 2015-12-27 20:01:47 UTC (rev 4707) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java 2015-12-27 20:02:37 UTC (rev 4708) @@ -57,22 +57,6 @@ ex.printStackTrace(); } - addAncestorListener(new AncestorListener() { - - @Override - public void ancestorRemoved(AncestorEvent event) { - } - - @Override - public void ancestorMoved(AncestorEvent event) { - } - // reload if the tab is activated - @Override - public void ancestorAdded(AncestorEvent event) { - refresh(); - } - }); - } public void refresh() { @@ -111,6 +95,6 @@ editorPane.setText("jEditorPane1"); editorPane.setContentType("text/html"); editorPane.setBorder(BorderFactory.createEmptyBorder()); - refresh(); + add(editorPane); } } \ No newline at end of file ------------------------------------------------------------------------------ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel