List of usage examples for java.awt Component getSize
public Dimension getSize()
From source file:Main.java
public static void centerComponent(Component relativeTo, Component toCenter) { if (relativeTo == null) { Toolkit tk = Toolkit.getDefaultToolkit(); Dimension screenSize = tk.getScreenSize(); int screenHeight = screenSize.height; int screenWidth = screenSize.width; toCenter.setLocation((screenWidth / 2) - (toCenter.getSize().width / 2), (screenHeight / 2) - (toCenter.getSize().height / 2)); } else {/*ww w . j a va 2 s . com*/ Point loc = relativeTo.getLocationOnScreen(); Rectangle bounds = relativeTo.getBounds(); toCenter.setLocation((int) (loc.x + bounds.getWidth() / 2) - (toCenter.getWidth() / 2), (int) (loc.y + bounds.getHeight() / 2) - (toCenter.getHeight() / 2)); } }
From source file:GUIUtils.java
/** * Centers <CODE>wind</CODE> within the passed rectangle. * //w w w . j av a2 s . c o m * @param wind * The Window to be centered. * @param rect * The rectangle (in screen coords) to center <CODE>wind</CODE> * within. * * @throws IllegalArgumentException * If <TT>Window</TT> or <TT>Rectangle</TT> is <TT>null</TT>. */ private static void center(Component wind, Rectangle rect) { if (wind == null || rect == null) { throw new IllegalArgumentException("null Window or Rectangle passed"); } Dimension windSize = wind.getSize(); int x = ((rect.width - windSize.width) / 2) + rect.x; int y = ((rect.height - windSize.height) / 2) + rect.y; if (y < rect.y) { y = rect.y; } wind.setLocation(x, y); }
From source file:Main.java
/** * Calculates the position of a frame to be in the center of an other frame. * * @param parentFrame//from w w w . j av a 2s . co m * @param frame * @return */ public static Point getCenter(final Component parentFrame, final Window frame) { final Point point = new Point(); int x = 0, y = 0; if (parentFrame == null || frame == null) { point.setLocation(x, y); return point; } x = parentFrame.getLocation().x + parentFrame.getSize().width / 2 - frame.getSize().width / 2; y = parentFrame.getLocation().y + parentFrame.getSize().height / 2 - frame.getSize().height / 2; point.setLocation(x, y); return point; }
From source file:Main.java
public static void centralizeComponent(Component component, Component otherComponent) { Dimension othersDimension = null; Point othersLocation = null;// w w w . ja v a 2s. c o m if (otherComponent == null || !otherComponent.isVisible()) { othersDimension = Toolkit.getDefaultToolkit().getScreenSize(); othersLocation = new Point(0, 0); } else { othersDimension = otherComponent.getSize(); othersLocation = otherComponent.getLocation(); } Point centerPoint = new Point( (int) Math.round(othersDimension.width / HALF - component.getWidth() / HALF) + othersLocation.x, (int) Math.round(othersDimension.height / HALF - component.getHeight() / HALF) + othersLocation.y); component.setLocation(centerPoint); }
From source file:net.chaosserver.timelord.swingui.SwingUtil.java
/** * Repair location is designed to detect if a box is partially * off-screen and move the box back onto the screen. * * @param component component to repair/* w w w . j ava 2 s .c o m*/ */ public static void repairLocation(Component component) { Point locationPoint = component.getLocation(); Point locationOnScreenPoint = null; if (component.isVisible()) { locationOnScreenPoint = component.getLocationOnScreen(); } Dimension componentSize = component.getSize(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); if (log.isDebugEnabled()) { log.debug("Repairing location on [" + component.getClass().getName() + "]. Original location point = [" + locationPoint + "] and location on screen point = [" + locationOnScreenPoint + "]. The screen size is [" + screenSize + "] and the component size is [" + componentSize + "]"); } // Is the dialog to far to the left? Then fix. if (locationPoint.getX() < 0) { locationPoint.setLocation(0, locationPoint.getY()); } if (locationPoint.getY() < 0) { locationPoint.setLocation(locationPoint.getX(), 0); } // component.setLocation(locationPoint); // Is the dialog too wide? if (locationPoint.getX() + componentSize.getWidth() > screenSize.getWidth()) { componentSize.width = (int) (screenSize.getWidth() - locationPoint.getX()); } if (locationPoint.getY() + componentSize.getHeight() > screenSize.getHeight()) { componentSize.height = (int) (screenSize.getHeight() - locationPoint.getY()); } // component.setSize(componentSize); }
From source file:Main.java
/** * Takes a snapshot of the target component. * * @param component the component to draw * @param usePrint whether <tt>print()</tt> or <tt>paint()</tt> is used to grab the snapshot * @return a Graphics compatible image of the component */// w ww. j av a2 s . com public static Image takeSnapshot(Component component, boolean usePrint) { BufferedImage image = null; GraphicsEnvironment genv = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice gd = genv.getDefaultScreenDevice(); GraphicsConfiguration gc = gd.getDefaultConfiguration(); if (gc.getColorModel().hasAlpha()) { image = gc.createCompatibleImage((int) component.getSize().getWidth(), (int) component.getSize().getHeight()); } else { image = new BufferedImage((int) component.getSize().getWidth(), (int) component.getSize().getHeight(), BufferedImage.TYPE_INT_ARGB); } Graphics g = image.getGraphics(); if (usePrint) { component.print(g); } else { component.paint(g); } g.dispose(); return image; }
From source file:PNGDecoder.java
/** Static method performing one component screen capture into PNG image format file with given fileName. * @param comp Component to be captured/*from w w w . j a v a2 s.com*/ * @param fileName String image target filename * @param mode image color mode */ public static void captureScreen(Component comp, String fileName, byte mode) { captureScreen(new Rectangle(comp.getLocationOnScreen(), comp.getSize()), fileName, mode); }
From source file:edu.unc.LCCC.caBIG.DWD.javaCode.visualization.SetUpPlotWindow.java
public static void saveComponentAsJPEG(Component myComponent, String filename) { Dimension size = myComponent.getSize(); BufferedImage myImage = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = myImage.createGraphics(); myComponent.paint(g2);//from w ww . j a v a 2 s.c o m try { OutputStream out = new FileOutputStream(filename); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(myImage); out.close(); } catch (Exception e) { System.out.println(e); } }
From source file:AWTUtilities.java
/** * Packs and centers the given window relative to the given component. The * specified component may be <code>null</code>, in which case the window will * be centered on the screen. The method also makes sure that the target * window is fully visible by calling <code>forceToScreen</code>. *//*from www . jav a2 s .co m*/ public static void centerWindow(Window target, Component parent) { target.pack(); Dimension size = target.getSize(); Rectangle parentBounds = parent == null || !parent.isShowing() ? getUsableScreenBounds() : new Rectangle(parent.getLocationOnScreen(), parent.getSize()); target.setLocation(parentBounds.x + (parentBounds.width - size.width) / 2, parentBounds.y + (parentBounds.height - size.height) / 2); forceToScreen(target); }
From source file:Main.java
public static void main() { ComponentListener listener = new ComponentAdapter() { public void componentShown(ComponentEvent evt) { Component c = (Component) evt.getSource(); System.out.println("Component is now visible"); }//from w w w.ja v a2 s . c o m public void componentHidden(ComponentEvent evt) { Component c = (Component) evt.getSource(); System.out.println("Component is now hidden"); } public void componentMoved(ComponentEvent evt) { Component c = (Component) evt.getSource(); Point newLoc = c.getLocation(); System.out.println("Get new location"); } public void componentResized(ComponentEvent evt) { Component c = (Component) evt.getSource(); Dimension newSize = c.getSize(); System.out.println("Get new size"); } }; JFrame frame = new JFrame(); frame.setSize(300, 300); frame.addComponentListener(listener); frame.setVisible(true); }