Newer
Older
AnchorGarden_M / src / main / java / jaist / css / covis / JTextAreaToggleAntiAlias.java
package jaist.css.covis;

import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JTextArea;

public class JTextAreaToggleAntiAlias extends JTextArea implements MouseListener{
    
	private static final long serialVersionUID = -8299619738797635210L;
	private boolean aaOn;
	Font font;
	
//	private HighlightedDocument document = new HighlightedDocument();
	public JTextAreaToggleAntiAlias(){
//		setDocument(document);
		setAntiAlias(true);
//		document.setHighlightStyle(HighlightedDocument.JAVA_STYLE);
		
		addMouseListener(this);
	}
	public JTextAreaToggleAntiAlias(int w, int h){
		this();
	}
	public JTextAreaToggleAntiAlias(String s){
		this();
		setText(s);
	}
	public void setFont(Font f){
		font = f;
		super.setFont(f);
		repaint();
	}
	public void setFontSize(int s){
		Font f = new Font(font.getName(), font.getStyle(), s);
		setFont(f);
	}
	public void setFontSizePlus(int s){
		Font f = new Font(font.getName(), font.getStyle(), font.getSize()+s);
		setFont(f);
	}
    public void setAntiAlias(boolean aaOn)
    {
        this.aaOn = aaOn;
    }
    
    public void paintComponent(Graphics g)
    {
        if (aaOn)
        {
            ((Graphics2D) g).addRenderingHints(new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON));
        }
        else
        {
            ((Graphics2D) g).addRenderingHints(new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF));
        }
        super.paintComponent(g);
    }
	@Override
	public void mouseClicked(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mousePressed(MouseEvent e) {
		if (e.isControlDown()){
			if (e.getButton()==MouseEvent.BUTTON1){
				setFontSizePlus(-2);
			} else {
				setFontSizePlus(2);
			}
		}
		
	}
	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
};