001: /**
002: * Caption: Zaval Java Resource Editor
003: * $Revision: 0.37 $
004: * $Date: 2002/03/28 9:24:42 $
005: *
006: * @author: Victor Krapivin
007: * @version: 1.3
008: *
009: * Zaval JRC Editor is a visual editor which allows you to manipulate
010: * localization strings for all Java based software with appropriate
011: * support embedded.
012: *
013: * For more info on this product read Zaval Java Resource Editor User's Guide
014: * (It comes within this package).
015: * The latest product version is always available from the product's homepage:
016: * http://www.zaval.org/products/jrc-editor/
017: * and from the SourceForge:
018: * http://sourceforge.net/projects/zaval0002/
019: *
020: * Contacts:
021: * Support : support@zaval.org
022: * Change Requests : change-request@zaval.org
023: * Feedback : feedback@zaval.org
024: * Other : info@zaval.org
025: *
026: * Copyright (C) 2001-2002 Zaval Creative Engineering Group (http://www.zaval.org)
027: *
028: * This program is free software; you can redistribute it and/or
029: * modify it under the terms of the GNU General Public License
030: * (version 2) as published by the Free Software Foundation.
031: *
032: * This program is distributed in the hope that it will be useful,
033: * but WITHOUT ANY WARRANTY; without even the implied warranty of
034: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
035: * GNU General Public License for more details.
036: *
037: * You should have received a copy of the GNU General Public License
038: * along with this program; if not, write to the Free Software
039: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
040: *
041: */package org.zaval.awt;
042:
043: import java.awt.*;
044: import java.util.*;
045:
046: public class ResultField extends Canvas {
047: TextAlignArea alignArea = new TextAlignArea();
048: boolean is3D = false;
049:
050: public ResultField(String t) {
051: setText(t);
052: }
053:
054: public ResultField() {
055: alignArea.setInsets(new Insets(0, 2, 0, 0));
056: }
057:
058: public void set3D(boolean b) {
059: if (b == is3D)
060: return;
061: is3D = b;
062: repaint();
063: }
064:
065: public TextAlignArea getAlignArea() {
066: return alignArea;
067: }
068:
069: public String getText() {
070: return alignArea.getText();
071: }
072:
073: public void setText(String text) {
074: alignArea.setText((text));
075: repaint();
076: }
077:
078: public void setFont(Font f) {
079: super .setFont(f);
080: alignArea.invalidate();
081: }
082:
083: public void reshape(int x, int y, int w, int h) {
084: super .reshape(x, y, w, h);
085: alignArea.setSize(new Dimension(w, h));
086: }
087:
088: public void resize(int w, int h) {
089: super .resize(w, h);
090: alignArea.setSize(new Dimension(w, h));
091: }
092:
093: public void paint(Graphics g) {
094: super .paint(g);
095: if (alignArea.getFontMetrics() == null)
096: alignArea.setFontMetrics(getFontMetrics(getFont()));
097:
098: if (is3D) {
099: Dimension d = size();
100: g.setColor(Color.white);
101: g.drawLine(d.width - 1, 0, d.width - 1, d.height - 1);
102: g.drawLine(0, d.height - 1, d.width - 1, d.height - 1);
103:
104: g.setColor(Color.gray);
105: g.drawLine(0, 0, d.width - 1, 0);
106: g.drawLine(0, 0, 0, d.height - 1);
107:
108: g.clipRect(2, 2, d.width - 3, d.height - 3);
109: }
110:
111: alignArea.draw(g, getForeground());
112: }
113:
114: public Dimension preferredSize() {
115: if (!isValid())
116: validate();
117: Rectangle r = alignArea.getAlignRectangle();
118: return new Dimension(r.width, r.height);
119: }
120:
121: public boolean mouseDown(Event e, int x, int y) {
122: requestFocus();
123: return true;
124: }
125:
126: public boolean mouseUp(Event e, int x, int y) {
127: return true;
128: }
129:
130: public boolean mouseMove(Event e, int x, int y) {
131: return true;
132: }
133:
134: public boolean mouseExit(Event e, int x, int y) {
135: return true;
136: }
137:
138: public boolean mouseEnter(Event e, int x, int y) {
139: return true;
140: }
141: }
|