List of usage examples for java.awt Rectangle Rectangle
public Rectangle(int x, int y, int width, int height)
From source file:org.jax.maanova.plot.MaanovaChartPanel.java
private void myMousePressed(MouseEvent e) { this.dragRectangle = new Rectangle(e.getX(), e.getY(), 0, 0); }
From source file:edu.umd.cs.findbugs.gui2.GUISaveState.java
public static void loadInstance() { GUISaveState newInstance = new GUISaveState(); newInstance.recentFiles = new ArrayList<File>(); Preferences p = Preferences.userNodeForPackage(GUISaveState.class); newInstance.tabSize = p.getInt(TAB_SIZE, 4); newInstance.fontSize = p.getFloat(FONT_SIZE, 12.0f); newInstance.starterDirectoryForLoadBugs = new File( p.get(GUISaveState.STARTERDIRECTORY, SystemProperties.getProperty("user.dir"))); int prevCommentsSize = p.getInt(GUISaveState.PREVCOMMENTSSIZE, 0); for (int x = 0; x < prevCommentsSize; x++) { String comment = p.get(GUISaveState.COMMENTKEYS[x], ""); newInstance.previousComments.add(comment); }//ww w . j a v a2s. co m int size = Math.min(MAXNUMRECENTPROJECTS, p.getInt(GUISaveState.NUMPROJECTS, 0)); for (int x = 0; x < size; x++) { newInstance.addRecentFile(new File(p.get(GUISaveState.RECENTPROJECTKEYS[x], ""))); } int sorterSize = p.getInt(GUISaveState.SORTERTABLELENGTH, -1); if (sorterSize != -1) { ArrayList<Sortables> sortColumns = new ArrayList<Sortables>(); String[] sortKeys = GUISaveState.generateSorterKeys(sorterSize); for (int x = 0; x < sorterSize; x++) { Sortables s = Sortables.getSortableByPrettyName(p.get(sortKeys[x], "*none*")); if (s == null) { if (MainFrame.GUI2_DEBUG) { System.err.println("Sort order was corrupted, using default sort order"); } newInstance.useDefault = true; break; } sortColumns.add(s); } if (!newInstance.useDefault) { // add in default columns Set<Sortables> missingSortColumns = new HashSet<Sortables>(Arrays.asList(DEFAULT_COLUMN_HEADERS)); missingSortColumns.removeAll(sortColumns); sortColumns.addAll(missingSortColumns); newInstance.sortColumns = sortColumns.toArray(new Sortables[sortColumns.size()]); } } else { newInstance.useDefault = true; } newInstance.dockingLayout = p.getByteArray(DOCKINGLAYOUT, new byte[0]); String boundsString = p.get(FRAME_BOUNDS, null); Rectangle r = new Rectangle(0, 0, 800, 650); if (boundsString != null) { String[] a = boundsString.split(",", 4); if (a.length > 0) { try { r.x = Math.max(0, Integer.parseInt(a[0])); } catch (NumberFormatException nfe) { assert true; } } if (a.length > 1) { try { r.y = Math.max(0, Integer.parseInt(a[1])); } catch (NumberFormatException nfe) { assert true; } } if (a.length > 2) { try { r.width = Math.max(40, Integer.parseInt(a[2])); } catch (NumberFormatException nfe) { assert true; } } if (a.length > 3) { try { r.height = Math.max(40, Integer.parseInt(a[3])); } catch (NumberFormatException nfe) { assert true; } } } newInstance.frameBounds = r; newInstance.extendedWindowState = p.getInt(EXTENDED_WINDOW_STATE, Frame.NORMAL); newInstance.splitMain = p.getInt(SPLIT_MAIN, 400); newInstance.splitSummary = p.getInt(SPLIT_SUMMARY_NEW, 400); newInstance.splitTop = p.getInt(SPLIT_TOP, -1); newInstance.splitTreeComments = p.getInt(SPLIT_TREE_COMMENTS, 250); newInstance.packagePrefixSegments = p.getInt(PACKAGE_PREFIX_SEGEMENTS, 3); String plugins = p.get(CUSTOM_PLUGINS, ""); if (plugins.length() > 0) { for (String s : plugins.split(" ")) { try { URI u = new URI(s); Plugin.addCustomPlugin(u); newInstance.customPlugins.add(u); } catch (PluginException e) { assert true; } catch (URISyntaxException e) { assert true; } } } String enabledPluginsString = p.get(ENABLED_PLUGINS, ""); String disabledPluginsString = p.get(DISABLED_PLUGINS, ""); newInstance.enabledPlugins = new ArrayList<String>(Arrays.asList(enabledPluginsString.split(","))); newInstance.disabledPlugins = new ArrayList<String>(Arrays.asList(disabledPluginsString.split(","))); instance = newInstance; }
From source file:cc.kune.core.server.manager.file.ImageUtilsDefault.java
/** * Crop image.// w w w. j a v a2 s. c o m * * @param fileOrig * the file orig * @param fileDest * the file dest * @param x * the x * @param y * the y * @param width * the width * @param height * the height * @return true, if successful * @throws MagickException * the magick exception */ private static boolean cropImage(final MagickImage fileOrig, final String fileDest, final int x, final int y, final int width, final int height) throws MagickException { final Rectangle rectangle = new Rectangle(x, y, width, height); return cropImage(fileOrig, fileDest, rectangle); }
From source file:org.jfree.graphics2d.demo.SVGTimeSeriesChartDemo1.java
/** * Starting point for the demo./*from w w w .ja v a2 s. c o m*/ * * @param args ignored. * * @throws IOException */ public static void main(String[] args) throws IOException { JFreeChart chart = createChart(createDataset()); SVGGraphics2D g2 = new SVGGraphics2D(600, 400); g2.setRenderingHint(JFreeChart.KEY_SUPPRESS_SHADOW_GENERATION, true); Rectangle r = new Rectangle(0, 0, 600, 400); chart.draw(g2, r); File f = new File("SVGTimeSeriesChartDemo1.svg"); SVGUtils.writeToSVG(f, g2.getSVGElement()); }
From source file:ScribbleDragAndDrop.java
/** * This method implements the DragGestureListener interface. It will be * invoked when the DragGestureRecognizer thinks that the user has initiated * a drag. If we're not in drawing mode, then this method will try to figure * out which Scribble object is being dragged, and will initiate a drag on * that object./*ww w .java2 s . c o m*/ */ public void dragGestureRecognized(DragGestureEvent e) { // Don't drag if we're not in drag mode if (!dragMode) return; // Figure out where the drag started MouseEvent inputEvent = (MouseEvent) e.getTriggerEvent(); int x = inputEvent.getX(); int y = inputEvent.getY(); // Figure out which scribble was clicked on, if any by creating a // small rectangle around the point and testing for intersection. Rectangle r = new Rectangle(x - LINEWIDTH, y - LINEWIDTH, LINEWIDTH * 2, LINEWIDTH * 2); int numScribbles = scribbles.size(); for (int i = 0; i < numScribbles; i++) { // Loop through the scribbles Scribble s = (Scribble) scribbles.get(i); if (s.intersects(r)) { // The user started the drag on top of this scribble, so // start to drag it. // First, remember which scribble is being dragged, so we can // delete it later (if this is a move rather than a copy) beingDragged = s; // Next, create a copy that will be the one dragged Scribble dragScribble = (Scribble) s.clone(); // Adjust the origin to the point the user clicked on. dragScribble.translate(-x, -y); // Choose a cursor based on the type of drag the user initiated Cursor cursor; switch (e.getDragAction()) { case DnDConstants.ACTION_COPY: cursor = DragSource.DefaultCopyDrop; break; case DnDConstants.ACTION_MOVE: cursor = DragSource.DefaultMoveDrop; break; default: return; // We only support move and copys } // Some systems allow us to drag an image along with the // cursor. If so, create an image of the scribble to drag if (dragSource.isDragImageSupported()) { Rectangle scribbleBox = dragScribble.getBounds(); Image dragImage = this.createImage(scribbleBox.width, scribbleBox.height); Graphics2D g = (Graphics2D) dragImage.getGraphics(); g.setColor(new Color(0, 0, 0, 0)); // transparent background g.fillRect(0, 0, scribbleBox.width, scribbleBox.height); g.setColor(Color.black); g.setStroke(linestyle); g.translate(-scribbleBox.x, -scribbleBox.y); g.draw(dragScribble); Point hotspot = new Point(-scribbleBox.x, -scribbleBox.y); // Now start dragging, using the image. e.startDrag(cursor, dragImage, hotspot, dragScribble, this); } else { // Or start the drag without an image e.startDrag(cursor, dragScribble, this); } // After we've started dragging one scribble, stop looking return; } } }
From source file:TexturedPanel.java
/** * Creates a new TexturePaint using the provided colors and texture map. *//*from w w w . j a v a2 s . co m*/ private void setupTexturePainter(Color foreground, Color background, boolean[][] texture, int scale) { if (texture == null || texture.length < 1 || texture[0].length < 1) { setupDefaultPainter(foreground, background); return; } else if (foreground == null || background == null) { ourPainter = null; return; } scale = Math.max(1, scale); int w = texture[0].length; int h = texture.length; BufferedImage buff = new BufferedImage(w * scale, h * scale, BufferedImage.TYPE_INT_ARGB_PRE); Graphics2D g2 = buff.createGraphics(); g2.setColor(background); g2.fillRect(0, 0, w * scale, h * scale); g2.setColor(foreground); for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { try { if (texture[i][j]) g2.fillRect(j * scale, i * scale, scale, scale); } // g2.drawLine(j, i, j, i); } catch (ArrayIndexOutOfBoundsException aob) { } } } ourPainter = new TexturePaint(buff, new Rectangle(0, 0, w * scale, h * scale)); g2.dispose(); }
From source file:com.funambol.admin.module.panels.DefaultSyncSourceConfigPanel.java
/** * Creates the panel/* w w w .j a va 2s . c o m*/ */ private void init() { this.setLayout(null); titledBorder = new TitledBorder(""); panelName.setFont(GuiFactory.titlePanelFont); panelName.setText(Bundle.getMessage(Bundle.LABEL_SYNC_SOURCE_EDIT) + " " + sourceTypeDescription); panelName.setBounds(new Rectangle(14, 5, 316, 28)); panelName.setAlignmentX(SwingConstants.CENTER); panelName.setBorder(titledBorder); final int LABEL_X = 14; final int VALUE_X = 170; int y = 60; final int GAP_Y = 30; sourceUriLabel.setText(Bundle.getMessage(Bundle.LABEL_SYNC_SOURCE_URI) + ": "); sourceUriLabel.setFont(defaultFont); sourceUriLabel.setBounds(new Rectangle(LABEL_X, y, 150, 18)); sourceUriValue.setFont(defaultFont); sourceUriValue.setBounds(new Rectangle(VALUE_X, y, 350, 18)); y += GAP_Y; // New line nameLabel.setText(Bundle.getMessage(Bundle.LABEL_SYNC_SOURCE_NAME) + ": "); nameLabel.setFont(defaultFont); nameLabel.setBounds(new Rectangle(LABEL_X, y, 150, 18)); nameValue.setFont(defaultFont); nameValue.setBounds(new Rectangle(VALUE_X, y, 350, 18)); y += GAP_Y; // New line infoTypesLabel.setText(Bundle.getMessage(Bundle.LABEL_SYNC_SOURCE_SUPPORTED_TYPES) + ": "); infoTypesLabel.setFont(defaultFont); infoTypesLabel.setBounds(new Rectangle(LABEL_X, y, 150, 18)); infoTypesValue.setFont(defaultFont); infoTypesValue.setBounds(new Rectangle(VALUE_X, y, 350, 18)); y += GAP_Y; // New line infoVersionsLabel.setText(Bundle.getMessage(Bundle.LABEL_SYNC_SOURCE_SUPPORTED_VERSIONS) + ": "); infoVersionsLabel.setFont(defaultFont); infoVersionsLabel.setBounds(new Rectangle(LABEL_X, y, 150, 18)); infoVersionsValue.setFont(defaultFont); infoVersionsValue.setBounds(new Rectangle(VALUE_X, y, 350, 18)); y += GAP_Y; // New line int x = LABEL_X; encryption.setText(Bundle.getMessage(Bundle.LABEL_SYNC_SOURCE_ENCRYPTION)); encryption.setFont(defaultFont); encryption.setSelected(false); encryption.setBounds(x, y, 150, 25); // What happens if the encryption is enabled? encryption.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == e.SELECTED) { encoding.setSelected(true); // Encryption implies encoding encoding.setEnabled(false); } if (e.getStateChange() == e.DESELECTED) { encoding.setSelected(false); encoding.setEnabled(true); } } }); y += GAP_Y; // New line encoding.setText(Bundle.getMessage(Bundle.LABEL_SYNC_SOURCE_ENCODING)); encoding.setFont(defaultFont); encoding.setSelected(false); encoding.setBounds(x, y, 150, 25); y += GAP_Y; // New line y += GAP_Y; // New line confirmButton.setFont(defaultFont); confirmButton.setText(Bundle.getMessage(Bundle.LABEL_BUTTON_ADD)); confirmButton.setBounds(VALUE_X, y, 70, 25); // What happens when the confirmButton is pressed? confirmButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { try { validateValues(); getValues(); if (getState() == STATE_INSERT) { DefaultSyncSourceConfigPanel.this.actionPerformed(new ActionEvent( DefaultSyncSourceConfigPanel.this, ACTION_EVENT_INSERT, event.getActionCommand())); } else { DefaultSyncSourceConfigPanel.this.actionPerformed(new ActionEvent( DefaultSyncSourceConfigPanel.this, ACTION_EVENT_UPDATE, event.getActionCommand())); } } catch (Exception e) { notifyError(new AdminException(e.getMessage())); } } }); // Adds all components to the panel this.add(panelName, null); this.add(nameLabel, null); this.add(sourceUriLabel, null); this.add(sourceUriValue, null); this.add(nameValue, null); this.add(infoTypesLabel, null); this.add(infoTypesValue, null); this.add(infoVersionsLabel, null); this.add(infoVersionsValue, null); this.add(encryption, null); this.add(encoding, null); this.add(confirmButton, null); }
From source file:net.sf.nmedit.nomad.core.Nomad.java
public Nomad(NomadPlugin plugin, MenuLayout menuLayout) { mainWindow = new JFrame("Nomad"); menuBuilder = new MenuBuilder(menuLayout); this.pluginInstance = plugin; Nomad.instance = this; this.menuLayout = menuLayout; SystemProperties properties = SystemPropertyFactory.getProperties(Nomad.class); properties.defineRectangleProperty(PROPERY_WINDOW_BOUNDS, null); Rectangle bounds = properties.rectangleValue(PROPERY_WINDOW_BOUNDS); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); if (bounds == null) { bounds = new Rectangle(0, 0, 640, 480); NMUtilities.fitRectangle(bounds, screen); NMUtilities.centerRectangle(bounds, screen); }/* ww w . j a v a 2 s .co m*/ if (bounds.x < 0) bounds.x = 0; if (bounds.y < 0) bounds.y = 0; if (bounds.width <= 100) bounds.width = 100; if (bounds.height <= 100) bounds.height = 100; mainWindow.setBounds(bounds); }
From source file:net.sf.mcf2pdf.mcfelements.util.ImageUtil.java
/** * Rotates the given buffered image by the given angle, and returns a newly * created image, containing the rotated image. * * @param img Image to rotate.//from ww w . ja v a2 s . c o m * @param angle Angle, in radians, by which to rotate the image. * @param drawOffset Receives the offset which is required to draw the image, * relative to the original (0,0) corner, so that the center of the image is * still on the same position. * * @return A newly created image containing the rotated image. */ public static BufferedImage rotateImage(BufferedImage img, float angle, Point drawOffset) { int w = img.getWidth(); int h = img.getHeight(); AffineTransform tf = AffineTransform.getRotateInstance(angle, w / 2.0, h / 2.0); // get coordinates for all corners to determine real image size Point2D[] ptSrc = new Point2D[4]; ptSrc[0] = new Point(0, 0); ptSrc[1] = new Point(w, 0); ptSrc[2] = new Point(w, h); ptSrc[3] = new Point(0, h); Point2D[] ptTgt = new Point2D[4]; tf.transform(ptSrc, 0, ptTgt, 0, ptSrc.length); Rectangle rc = new Rectangle(0, 0, w, h); for (Point2D p : ptTgt) { if (p.getX() < rc.x) { rc.width += rc.x - p.getX(); rc.x = (int) p.getX(); } if (p.getY() < rc.y) { rc.height += rc.y - p.getY(); rc.y = (int) p.getY(); } if (p.getX() > rc.x + rc.width) rc.width = (int) (p.getX() - rc.x); if (p.getY() > rc.y + rc.height) rc.height = (int) (p.getY() - rc.y); } BufferedImage imgTgt = new BufferedImage(rc.width, rc.height, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = imgTgt.createGraphics(); // create a NEW rotation transformation around new center tf = AffineTransform.getRotateInstance(angle, rc.getWidth() / 2, rc.getHeight() / 2); g2d.setTransform(tf); g2d.drawImage(img, -rc.x, -rc.y, null); g2d.dispose(); drawOffset.x += rc.x; drawOffset.y += rc.y; return imgTgt; }
From source file:InternalFrameListenerDemo.java
public void render(int[] counts) { for (int i = 0; i < 11; i++) { for (int j = 0; j < 7; j++) { m_arrays[j][i] = m_arrays[j][i + 1]; }/*from w w w . j a v a 2 s . c om*/ } for (int k = 0; k < 7; k++) { m_arrays[k][11] = counts[k]; } paintImmediately(new Rectangle(0, 0, 505, 130)); }