這是我到目前爲止的內容,但是該字段中的文本不是反鋸齒。我嘗試了一段時間使用Google搜索,但找不到任何線索討論它(很令我驚訝)。有誰知道如何做到這一點?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);
}
}
在計算器上的幫助,也許這個問題:?如何使的JTextPane畫反鋸齒字體(http://stackoverflow.com/q/2266199/851432) – Jomoos 2011-12-21 09:16:33
'g.fillRoundRect(0,0 ,fieldWidth,fieldHeight,4,4);'這聽起來像一個標準的'JTextField'上[自定義邊框](http://stackoverflow.com/a/8463742/418556)的工作。 – 2011-12-21 09:29:06
如果一行簡單的代碼能夠實現這個技巧,而且它的效率足夠高,那麼爲什麼還要使用自定義邊框呢?但我必須承認,這是一個很好的觀點。 – rtheunissen 2011-12-21 09:41:40