001package org.jdesktop.swingx; 002 003import java.awt.Color; 004 005import javax.swing.JTextArea; 006 007import org.jdesktop.beans.JavaBean; 008import org.jdesktop.swingx.prompt.BuddySupport; 009import org.jdesktop.swingx.prompt.PromptSupport; 010import org.jdesktop.swingx.prompt.PromptSupport.FocusBehavior; 011 012/** 013 * {@link JTextArea}, with integrated support for prompts. 014 * 015 * @see PromptSupport 016 * @see BuddySupport 017 * @author Peter Weishapl <petw@gmx.net> 018 * 019 */ 020@JavaBean 021public class JXTextArea extends JTextArea { 022 public JXTextArea() { 023 this(null); 024 } 025 026 public JXTextArea(String promptText) { 027 this(promptText, null); 028 } 029 030 public JXTextArea(String promptText, Color promptForeground) { 031 this(promptText, promptForeground, null); 032 } 033 034 public JXTextArea(String promptText, Color promptForeground, 035 Color promptBackground) { 036 PromptSupport.init(promptText, promptForeground, promptBackground, 037 this); 038 } 039 040 /** 041 * @see PromptSupport#getFocusBehavior(javax.swing.text.JTextComponent) 042 */ 043 public FocusBehavior getFocusBehavior() { 044 return PromptSupport.getFocusBehavior(this); 045 } 046 047 /** 048 * @see PromptSupport#getPrompt(javax.swing.text.JTextComponent) 049 */ 050 public String getPrompt() { 051 return PromptSupport.getPrompt(this); 052 } 053 054 /** 055 * @see PromptSupport#getForeground(javax.swing.text.JTextComponent) 056 */ 057 public Color getPromptForeground() { 058 return PromptSupport.getForeground(this); 059 } 060 061 /** 062 * @see PromptSupport#getForeground(javax.swing.text.JTextComponent) 063 */ 064 public Color getPromptBackground() { 065 return PromptSupport.getBackground(this); 066 } 067 068 /** 069 * @see PromptSupport#getFontStyle(javax.swing.text.JTextComponent) 070 */ 071 public Integer getPromptFontStyle() { 072 return PromptSupport.getFontStyle(this); 073 } 074 075 /** 076 * @see PromptSupport#getFocusBehavior(javax.swing.text.JTextComponent) 077 */ 078 public void setFocusBehavior(FocusBehavior focusBehavior) { 079 PromptSupport.setFocusBehavior(focusBehavior, this); 080 } 081 082 /** 083 * @see PromptSupport#setPrompt(String, javax.swing.text.JTextComponent) 084 */ 085 public void setPrompt(String labelText) { 086 PromptSupport.setPrompt(labelText, this); 087 } 088 089 /** 090 * @see PromptSupport#setForeground(Color, javax.swing.text.JTextComponent) 091 */ 092 public void setPromptForeground(Color promptTextColor) { 093 PromptSupport.setForeground(promptTextColor, this); 094 } 095 096 /** 097 * @see PromptSupport#setBackground(Color, javax.swing.text.JTextComponent) 098 */ 099 public void setPromptBackround(Color promptTextColor) { 100 PromptSupport.setBackground(promptTextColor, this); 101 } 102 103 /** 104 * @see PromptSupport#setFontStyle(Integer, javax.swing.text.JTextComponent) 105 */ 106 public void setPromptFontStyle(Integer fontStyle) { 107 PromptSupport.setFontStyle(fontStyle, this); 108 } 109}