mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

jvergara
05.38.2009 60bdad67b4694360fc959c5bfa0148aaa30d959a
Fix for issue 3685 (Swing repainting problem in control panel)
The fix consists on handling in a particular mode the border of some components when the Metal look and feel is used. In this look and feel the scroll pane border can only be used with JScrollPane objects.
5 files modified
42 ■■■■ changed files
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java 2 ●●● patch | view | raw | blame | history
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseIndexPanel.java 2 ●●● patch | view | raw | blame | history
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseSchemaPanel.java 2 ●●● patch | view | raw | blame | history
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/ColorAndFontConstants.java 24 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java 12 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java
@@ -222,7 +222,7 @@
        new Dimension((treeScroll.getPreferredSize().width * 5) / 2,
            treeScroll.getPreferredSize().height));
    entryPane.setBorder(treeScroll.getBorder());
    entryPane.setBorder(getRightPanelBorder());
    addPopupMenu();
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseIndexPanel.java
@@ -437,7 +437,7 @@
    treeScroll.setPreferredSize(
        new Dimension(2 * treeScroll.getPreferredSize().width,
            8 * treeScroll.getPreferredSize().height));
    entryPane.setBorder(treeScroll.getBorder());
    entryPane.setBorder(getRightPanelBorder());
    entryPane.setPreferredSize(
        new Dimension((treeScroll.getPreferredSize().width * 5) / 2,
        treeScroll.getPreferredSize().height));
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseSchemaPanel.java
@@ -579,7 +579,7 @@
        new Dimension((3 * treeScroll.getPreferredSize().width) / 2,
            5 * treeScroll.getPreferredSize().height));
    entryPane.displayMessage(NO_SCHEMA_ITEM_SELECTED);
    entryPane.setBorder(treeScroll.getBorder());
    entryPane.setBorder(getRightPanelBorder());
    entryPane.setPreferredSize(
        new Dimension(treeScroll.getPreferredSize().width,
        treeScroll.getPreferredSize().height));
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/ColorAndFontConstants.java
@@ -31,9 +31,9 @@
import java.awt.Font;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.plaf.metal.MetalBorders;
import org.opends.guitools.controlpanel.util.Utilities;
@@ -59,7 +59,6 @@
  public static final Border textAreaBorder;
  static
  {
    Border border = new javax.swing.border.EmptyBorder(0, 0, 0, 0);
    Color bg = Color.white;
    try
    {
@@ -78,16 +77,29 @@
      {
        toggleButtonColor = new Color(200, 200, 200);
      }
      JScrollPane scroll = new JScrollPane(new JTextArea());
      border = scroll.getViewportBorder();
      if (border == null)
    }
    catch (Throwable t)
      {
    }
    Border border = null;
    try
    {
      JScrollPane scroll = new JScrollPane();
        border = scroll.getBorder();
      // If the border is of class MetalBorders$ScrollPaneBorder it cannot
      // be used.
      if (border instanceof MetalBorders.ScrollPaneBorder)
      {
        border = null;
      }
    }
    catch (Throwable t)
    {
      border = null;
    }
    if (border == null)
    {
      border = new MetalBorders.Flush3DBorder();
    }
    textAreaBorder = border;
    background = bg;
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java
@@ -64,6 +64,7 @@
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.border.Border;
import org.opends.admin.ads.util.ConnectionUtils;
import org.opends.guitools.controlpanel.browser.BrowserController;
@@ -1940,4 +1941,15 @@
    }
    return hasObjectClass;
  }
  /**
   * Returns the border to be used in the right panel of the dialog with a tree
   * on the left (for instance the schema browser, entry browser and index
   * browser).
   * @return the border to be used in the right panel.
   */
  protected Border getRightPanelBorder()
  {
    return ColorAndFontConstants.textAreaBorder;
  }
}