List of usage examples for java.awt Container removeHierarchyBoundsListener
public void removeHierarchyBoundsListener(HierarchyBoundsListener l)
From source file:org.openmicroscopy.shoola.agents.imviewer.view.ImViewerUI.java
/** * Lays out the components composing main panel. * //w w w.j a v a 2s . com * @param fromPreferences Pass <code>true</code> to indicate that the * method is invoked while setting the user * preferences, <code>false</code> otherwise. */ private void layoutComponents(boolean fromPreferences) { //initSplitPanes(); Dimension d; int diff; Container container = getContentPane(); container.removeHierarchyBoundsListener(boundsAdapter); int width = 0, height = 0; JComponent rightComponent; //int divider = 0; int vExtra = 2; int addition; switch (displayMode) { case RENDERER: rightComponent = model.getMetadataViewer().getEditorUI(); rendererSplit.setRightComponent(rightComponent); if (restoreSize == null) { rendererSplit.setResizeWeight(1.0); return; } d = model.getMetadataViewer().getIdealRendererSize(); rightComponent.setMinimumSize(d); tabs.setMinimumSize(restoreSize); height = restoreSize.height; diff = d.height - restoreSize.height; if (diff > 0) height += diff; else height += vExtra; addition = rendererSplit.getDividerSize() + 2 * (refInsets.left + refInsets.right); width = restoreSize.width + d.width; width += 4 * addition; break; case HISTORY: container.remove(mainComponent); historyUI.doGridLayout(); addComponents(historySplit, tabs, historyUI); mainComponent = historySplit; container.add(mainComponent, BorderLayout.CENTER); container.validate(); container.repaint(); height = restoreSize.height; width = restoreSize.width; d = historyUI.getIdealSize(); addition = historySplit.getDividerSize() + 2 * (refInsets.top + refInsets.bottom); height += d.height; historySplit.setResizeWeight(0.49); height += addition; break; case HISTORY_AND_RENDERER: historySplit.setResizeWeight(0.49); container.remove(mainComponent); historyUI.doGridLayout(); rightComponent = model.getMetadataViewer().getEditorUI(); addComponents(rendererSplit, tabs, rightComponent); addComponents(historySplit, rendererSplit, historyUI); mainComponent = historySplit; container.add(mainComponent, BorderLayout.CENTER); container.validate(); container.repaint(); d = model.getMetadataViewer().getIdealRendererSize(); height = restoreSize.height; diff = d.height - restoreSize.height; if (diff > 0) height += diff; else height += vExtra; addition = rendererSplit.getDividerSize() + 2 * (refInsets.left + refInsets.right); width = restoreSize.width + d.width; width += 4 * addition; d = historyUI.getPreferredSize(); addition = historySplit.getDividerSize() + 2 * (refInsets.top + refInsets.bottom); height += d.height; height += addition; break; case NEUTRAL: rightComponent = model.getMetadataViewer().getEditorUI(); rendererSplit.remove(rightComponent); if (restoreSize == null) return; width = restoreSize.width; height = restoreSize.height; break; default: } //rendererSplit.setDividerLocation(-1); //rendererSplit.setResizeWeight(1.0); //historySplit.setDividerLocation(-1); d = getIdealSize(width, height); /* Need to review that code. * Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int w = (int) (screen.width*SCREEN_RATIO); int h = (int) (screen.height*SCREEN_RATIO); if (d.width > w || d.height > h) { setSize(width, height); } else setSize(d); */ setSize(d); setPreferredSize(d); pack(); container.addHierarchyBoundsListener(boundsAdapter); }