home *** CD-ROM | disk | FTP | other *** search
Java Source | 1997-07-30 | 2.7 KB | 91 lines |
- package borland.samples.intl.util;
-
- import java.awt.*;
- import java.util.*;
-
- import borland.jbcl.view.*;
- import borland.jbcl.model.*;
- import borland.jbcl.util.*;
-
- /**
- * ResourceableTextItemPainter - a resourceable text item painter.
- * Assumes the text to paint is actually a lookup key into a specified
- * resource bundle. The string retrieved from the resource bundle
- * becomes the item to be painted.
- */
- public class ResourceableTextItemPainter implements ItemPainter {
- TextItemPainter textItemPainter;
- ResourceBundle resourceBundle;
-
- /**
- * By default, a TextItemPainter is used to paint text.
- */
- public ResourceableTextItemPainter() {
- textItemPainter = new TextItemPainter();
- }
-
- /**
- * By default, use the specified TextItemPainter to paint text.
- *
- * @param textItemPainter TextItemPainter to use to paint text
- */
- public ResourceableTextItemPainter(TextItemPainter textItemPainter) {
- this.textItemPainter = textItemPainter;
- }
-
- /**
- * Sets the resource bundle in which to look up items to display.
- *
- * @param resourceBundle resourceBundle to use for key lookups
- */
- public void setResourceBundle(ResourceBundle resourceBundle) {
- this.resourceBundle = resourceBundle;
- }
-
- /**
- * Returns the resource bundle used to look up resource keys.
- *
- * @return resource bundle for key lookups.
- */
- public ResourceBundle getResourceBundle() {
- return resourceBundle;
- }
-
- /**
- * Sets the TextItemPainter used to display text.
- *
- * @param textItemPainter TextItemPainter to use.
- */
- public void setTextItemPainter(TextItemPainter textItemPainter) {
- this.textItemPainter = textItemPainter;
- }
-
- /**
- * Returns TextItemPainter used to display text.
- *
- * @return TextItemPainter in use.
- */
- public TextItemPainter getTextItemPainter() {
- return textItemPainter;
- }
-
- // required for implementation of ItemPainter interface
- public Dimension getPreferredSize(Object object, Graphics g, int state, ItemPaintSite site) {
- if (!(object.toString().length() == 0) && resourceBundle != null) {
- return textItemPainter.getPreferredSize(resourceBundle.getString(object.toString()), g, state, site);
- } else {
- return textItemPainter.getPreferredSize(object, g, state, site);
- }
- }
-
- // required for implementation of ItemPainter interface
- public void paint(Object object, Graphics g, Rectangle r, int state, ItemPaintSite site) {
- if (!(object.toString().length() == 0) && resourceBundle != null) {
- textItemPainter.paint(resourceBundle.getString(object.toString()), g, r, state, site);
- } else {
- textItemPainter.paint(object, g, r, state, site);
- }
- }
-
- }
-