|
What this is
Other links
The source code/* ** Tim Endres' utilities package. ** Copyright (c) 1997 by Tim Endres ** ** This program is free software. ** ** You may redistribute it and/or modify it under the terms of the GNU ** General Public License as published by the Free Software Foundation. ** Version 2 of the license should be included with this distribution in ** the file LICENSE, as well as License.html. If the license is not ** included with this distribution, you may find a copy at the FSF web ** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA. ** ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR ** REDISTRIBUTION OF THIS SOFTWARE. ** */ package com.ice.util; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.net.URL; import java.io.IOException; import java.util.*; /** * This is a class that contains useful utility functions related * to the Java AWT package. */ public class AWTUtilities { static public Point centerDialogInParent( Dialog dialog, Component parent ) { Point parLoc = parent.getLocationOnScreen(); Dimension parSz = parent.getSize(); Dimension dlgSz = dialog.getSize(); int x = parLoc.x + (parSz.width - dlgSz.width) / 2; int y = parLoc.y + (parSz.height - dlgSz.height) / 3; return new Point( x, y ); } static public Point computeDialogLocation( Dialog dialog, int w, int h ) { Dimension scrnSz = dialog.getToolkit().getScreenSize(); int x = (scrnSz.width - w) / 2; int y = (scrnSz.height - h) / 3; return new Point( x, y ); } static public Point computeDialogLocation( Dialog dialog ) { Dimension dlgSz = dialog.getSize(); Dimension scrnSz = dialog.getToolkit().getScreenSize(); int x = (scrnSz.width - dlgSz.width) / 2; int y = (scrnSz.height - dlgSz.height) / 3; return new Point( x, y ); } static public Point computeDialogLocation( Dialog dialog, Component rel ) { Dimension dlgSz = dialog.getSize(); Dimension scrnSz = dialog.getToolkit().getScreenSize(); int x = (scrnSz.width - dlgSz.width) / 2; int y = (scrnSz.height - dlgSz.height) / 3; if ( rel != null ) { Dimension relSz = rel.getSize(); Point loc = rel.getLocationOnScreen(); x = loc.x + ((relSz.width - dlgSz.width) / 2); y = loc.y + ((relSz.height - dlgSz.height) / 2); } if ( x < 0 ) x = 0; if ( y < 0 ) y = 0; return new Point( x, y ); } static public void constrain( Container container, Component component, int fill, int anchor, int gx, int gy, int gw, int gh, double wx, double wy ) { GridBagConstraints c = new GridBagConstraints(); c.fill = fill; c.anchor = anchor; c.gridx = gx; c.gridy = gy; c.gridwidth = gw; c.gridheight = gh; c.weightx = wx; c.weighty = wy; ( (GridBagLayout)container.getLayout() ). setConstraints( component, c ); container.add( component ); } static public void constrain( Container container, Component component, int fill, int anchor, int gx, int gy, int gw, int gh, double wx, double wy, Insets inset ) { GridBagConstraints c = new GridBagConstraints(); c.fill = fill; c.anchor = anchor; c.gridx = gx; c.gridy = gy; c.gridwidth = gw; c.gridheight = gh; c.weightx = wx; c.weighty = wy; c.insets = inset; ( (GridBagLayout)container.getLayout() ). setConstraints( component, c ); container.add( component ); } static public void constrain( Container container, Component component, int fill, int anchor, int gx, int gy, int gw, int gh, double wx, double wy, int ipadx, int ipady ) { GridBagConstraints c = new GridBagConstraints(); c.fill = fill; c.anchor = anchor; c.gridx = gx; c.gridy = gy; c.gridwidth = gw; c.gridheight = gh; c.weightx = wx; c.weighty = wy; c.ipadx = ipadx; c.ipady = ipady; ( (GridBagLayout)container.getLayout() ). setConstraints( component, c ); container.add( component ); } static public Font getFont( String fontName ) { StringTokenizer toker = new StringTokenizer( fontName, "-", false ); String sName = "Helvetica"; String sStyle = "plain"; String sSize = "12"; int numTokes = toker.countTokens(); boolean isok = true; try { if ( numTokes > 0 ) { sName = toker.nextToken(); if ( numTokes == 2 ) { sSize = toker.nextToken(); } else if ( numTokes == 3 ) { sStyle = toker.nextToken(); sSize = toker.nextToken(); } } } catch ( Exception ex ) { System.err.println ( "Bad font specification '" + fontName + "' - " + ex.getMessage() ); return null; } int style = (sStyle.equalsIgnoreCase( "plain" ) ) ? Font.PLAIN : ( (sStyle.equalsIgnoreCase( "bold" ) ) ? Font.BOLD : ( (sStyle.equalsIgnoreCase( "italic" ) ) ? Font.ITALIC : (Font.BOLD + Font.ITALIC) ) ); int size = Integer.parseInt( sSize ); return new Font( sName, style, size ); } // The subtlety in getResource() is that it uses the // Class loader of the class used to get the rousource. // This means that if you want to load a resource from // your JAR file, then you better use a class in the // JAR file. public static Image getImageResource( String name ) throws java.io.IOException { return AWTUtilities.getImageResource ( AWTUtilities.class, name ); } public static Image getImageResource( Class base, String name ) throws java.io.IOException { Image result = null; URL imageURL = base.getResource( name ); if ( imageURL != null ) { Toolkit tk = Toolkit.getDefaultToolkit(); result = tk.createImage ( (ImageProducer) imageURL.getContent() ); } return result; } public static Image getSystemImageResource( String name ) throws java.io.IOException { Image result = null; URL imageURL = ClassLoader.getSystemResource( name ); if ( imageURL != null ) { Toolkit tk = Toolkit.getDefaultToolkit(); result = tk.createImage ( (ImageProducer) imageURL.getContent() ); } return result; } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.