Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ezhov-da/569ed73feb65b49a63ec8d5daef6cb76 to your computer and use it in GitHub Desktop.
Save ezhov-da/569ed73feb65b49a63ec8d5daef6cb76 to your computer and use it in GitHub Desktop.
java текстовое поле с подсказкой
[code:]java[:code]
package ru.ezhov.schedulerproductiontasks.components.comp;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.logging.Logger;
import javax.swing.JTextField;
import javax.swing.text.BadLocationException;
/**
* Текстовое поле с подсказкой
* @author ezhov_da
*/
public class JETextFieldHint extends JTextField
{
private static final Logger LOG = Logger.getLogger(JETextFieldHint.class.getName());
String textForPaint;
public JETextFieldHint(String textForPaint)
{
this.textForPaint = textForPaint;
}
@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D graphics2D = (Graphics2D) g;
if ("".equals(getText()))
{
graphics2D.setPaint(Color.GRAY);
Font font = getFont();
int caretPosition;
try
{
caretPosition = modelToView(getCaretPosition()).x;
} catch (BadLocationException ex)
{
caretPosition = 5;
}
graphics2D.drawString(textForPaint, caretPosition, getHeight() - font.getSize() / 2);
}
}
}
[/code]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment