package org.Algy.dialogs;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.Collection;
import java.util.HashSet;
import javax.swing.JEditorPane;
import javax.swing.JTextField;
public class JPrompt extends JTextField {
public JPrompt(String promptStr) {
super();
this.promptStr = promptStr;
this.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
// TODO Auto-generated method stub
isFocused = false;
invalidate();
}
@Override
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub
isFocused = true;
invalidate();
}
});
}
public void invalidate()
{
this.repaint();
}
private boolean isFocused = false;
private Color promptCol = new Color(0.5f, 0.5f, 0.5f, 0.9f);
public Color getPromptCol() {
return promptCol;
}
public void setPromptCol(Color promptCol) {
this.promptCol = promptCol;
}
private int marginX = 5;
public int getMarginX() {
return marginX;
}
public void setMarginX(int marginX) {
this.marginX = marginX;
}
private String promptStr = "example";
public String getPromptString() {
return promptStr;
}
public void setPromptString(String promptStr) {
this.promptStr = promptStr;
}
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
if(!isFocused && this.getText().equals(""))
{
g.setFont( this.getFont());
g.setColor(promptCol);
g.drawString(promptStr, marginX, g.getFontMetrics().getHeight()/4 + this.getHeight()/2);
}
}
}