Это то, что у меня есть до сих пор, но текст в поле не сглажен. Я пробовал поиграть в нее некоторое время, но не мог найти ни одной темы, обсуждая ее (к моему удивлению). Кто-нибудь знает как это сделать?Java: Как включить сглаживание текста в JTextField?
public class SearchField extends JTextField{
public SearchField(){
super();
this.setOpaque(false);
this.setPreferredSize(new Dimension(fieldWidth, fieldHeight));
this.setBorder(new EmptyBorder(4,8,4,8));
this.setFont(fieldFont);
}
public void paintComponent(Graphics paramGraphics){
Graphics2D g = (Graphics2D) paramGraphics;
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.setColor(ColorConstants.LIGHT_GRAY);
g.fillRoundRect(0,0,fieldWidth,fieldHeight,4,4);
super.paintComponent(g);
}
}
Этого вопрос на StackOverflow возможна помощь: [? Как сделать JTextPane краски сглаживания шрифта] (http://stackoverflow.com/q/2266199/851432) – Jomoos
'g.fillRoundRect (0,0 , fieldWidth, fieldHeight, 4,4); 'Это похоже на задание для [пользовательской границы] (http://stackoverflow.com/a/8463742/418556) на стандартном' JTextField'. –
Если одна простая строка кода делает трюк, и это достаточно эффективно, зачем беспокоиться о пользовательской границе? Должен признаться, но хороший момент. – rtheunissen