2011-01-26 13 views
5

Tôi đang sử dụng Java 6 trên Mac OS X 10.6. Vì vậy, là người dùng của tôi. Tôi đang cố gắng để buộc một JTextArea cụ thể không sử dụng chống răng cưa.Làm thế nào tôi có thể buộc một JTextArea cụ thể không sử dụng tính năng chống răng cưa, trong khi vẫn giữ cho phần còn lại của ứng dụng của tôi?

Bất kỳ ý tưởng nào?

Đây là mã thử nghiệm của tôi như là:

public static void main(String[] args) { 

    JTextArea jTextArea1 = new JTextArea("This is some text which should be anti-aliased"); 
    jTextArea1.setFont(new Font("Lucida Grande", Font.PLAIN, 14)); 

    JTextArea jTextArea2 = new JTextArea("Please no anti-aliasing for this text"); 
    jTextArea2.setFont(new Font("Monaco", Font.PLAIN, 10)); 

    final JFrame frame = new JFrame(); 
    frame.getContentPane().add(new JScrollPane(jTextArea1), BorderLayout.NORTH); 
    frame.getContentPane().add(new JScrollPane(jTextArea2), BorderLayout.SOUTH); 

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.pack(); 
    frame.setLocationRelativeTo(null); 
    frame.setVisible(true); 
} 

Trả lời

1

tôi không kiểm tra nó, nhưng bạn có thể thử để ghi đè các phương thức paintComponent của textarea của bạn:

public void drawComponent(Graphics g) 
{ 
    Graphics2D g2d = (Graphics2D) g; 
    g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); 
    super.drawComponent(g2d); 
} 
+0

Rất tiếc, tôi đã nhầm lẫn, đây là ý của tôi. Tất nhiên chúng tôi cố gắng tắt tính năng chống răng cưa. –

+0

Tôi đã suy nghĩ một cái gì đó dọc theo cùng một dòng, nhưng tôi đã cố gắng thiết lập các gợi ý trong 'getGraphics()', 'update()', 'paint()' và 'paintComponent()' và không có trường hợp nào được gợi ý . –

1

Trong Java> 5, bạn không cần ghi đè phương thức paint. Bạn có thể thiết lập một tài sản của khách hàng như thế này:

jTextArea2.putClientProperty(sun.swing.SwingUtilities2.AA_TEXT_PROPERTY_KEY, null); 

Lưu ý rằng SwingUtilities2 là một lớp mặt trời, vì vậy điều này có thể không làm việc trong JVM khác.

Các vấn đề liên quan