01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * it under the terms of the GNU General Public License version 2 as published by
10: * the Free Software Foundation.
11: *
12: * This program is distributed WITHOUT ANY WARRANTY; and without the
13: * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14: * See the GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18: * or write to:
19: *
20: * Free Software Foundation, Inc.,
21: * 59 Temple Place - Suite 330,
22: * Boston, MA USA 02111-1307
23: *
24: *
25: *
26: *
27: * JSQLTablesPane.java
28: *
29: * Created on 21 maggio 2003, 19.03
30: *
31: */
32:
33: package it.businesslogic.ireport.gui;
34:
35: import java.awt.*;
36: import java.awt.image.*;
37: import javax.swing.*;
38:
39: /**
40: *
41: * @author Administrator
42: */
43: public class JSQLTablesPane extends javax.swing.JDesktopPane {
44:
45: boolean repainting = false;
46: private Graphics2D offscreen = null;
47: private BufferedImage offscreenImage = null;
48:
49: /** Creates a new instance of JSQLTablesPane */
50: public JSQLTablesPane() {
51:
52: Dimension offscreenDimension = Toolkit.getDefaultToolkit()
53: .getScreenSize();
54: offscreenImage = new java.awt.image.BufferedImage(
55: offscreenDimension.width, offscreenDimension.height,
56: java.awt.image.BufferedImage.TYPE_4BYTE_ABGR_PRE);
57:
58: offscreen = GraphicsEnvironment.getLocalGraphicsEnvironment()
59: .createGraphics(offscreenImage);
60: offscreen.setBackground(this .getBackground());
61: offscreen.setColor(Color.BLACK);
62: this .setDoubleBuffered(false);
63:
64: }
65:
66: public void paint(Graphics g) {
67: if (repainting)
68: return;
69: repainting = true;
70: //this.repaint();
71: //super.paint(g);
72: if (offscreen == null)
73: return;
74: offscreen.clearRect(0, 0, this .getWidth(), this .getHeight());
75: JInternalFrame[] frames = this .getAllFrames();
76: // Draw a line between two fields...
77: offscreen.drawLine(frames[0].getLocation().x
78: + frames[0].getWidth() / 2, frames[0].getLocation().y
79: + frames[0].getHeight() / 2, frames[1].getLocation().x
80: + frames[1].getWidth() / 2, frames[1].getLocation().y
81: + frames[1].getHeight() / 2);
82:
83: super .paintChildren(offscreen);
84: g.drawImage(offscreenImage, 0, 0, (ImageObserver) this );
85: repainting = false;
86: }
87:
88: public void repaint() {
89: paint(this .getGraphics());
90: }
91: /*
92: public void repaint(int x,int y, int width, int height)
93: {
94: super.repain
95: //paint(this.getGraphics() );
96: }
97: **/
98: }
|