deutsche Version

How to center a component


How to center a component?
How to center a component at display?

If You can center a component You can also center a component at display. The follow class can both.

package de.bastie.howto.gui;

import java.awt.*;

public class GUITool {

  /** instance of toolkit */
  final static Toolkit defaultToolkit = Toolkit.getDefaultToolkit ();

  /** Constructor */
  public GUITool () {}

  /** This class method center a component at display.
   *  @param Component to center
   *  @pattern MethodDelegate
   */
  public static void center (final Component toCenter) {
    Component main = new DefaultComponent ();
    // Set the size of main component to size from display
    main.setSize(Toolkit.getDefaultToolkit().getScreenSize());
    // Delegate to method center (Component, Component)
    GUITool.center (main, toCenter);
  }

  /** This class method center a component toCenter
   * at the other component main
   * @param Component main
   * @param Component toCenter
   */
  public static void center (final Component main, final Component toCenter) {
    toCenter.setLocation ((int)(main.getSize().width /2
                               -toCenter.getSize().width /2
                               +main.getLocation().getX()),
                          (int)(main.getSize().height /2
                               -toCenter.getSize().height /2
                               +main.getLocation().getY())
                         );
  }

  /** Default implementation of abstract class Component
   */
  public static class DefaultComponent extends Component {}
}
all rights reserved © Bastie - Sebastian Ritter @: w³: http://www.Bastie.de
Diese Seite ist Bestandteil der Internetpräsenz unter http://www.Bastie.de


Java Cobol Software Resourcen Service Links Über mich