FileDocCategorySizeDatePackage
BackwardsJTextField.javaAPI DocExample1309Mon Jan 09 11:02:00 GMT 2006None

BackwardsJTextField.java

import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
import javax.swing.text.Document;

public class BackwardsJTextField extends JTextField {

    public BackwardsJTextField () { super(); }
    public BackwardsJTextField (Document doc, String text, int columns) {
        super (doc, text, columns); 
    }
    public BackwardsJTextField (int columns) { super (columns); }
    public BackwardsJTextField (String text) { super (text);}
    public BackwardsJTextField (String text, int columns) {
        super (text, columns);
    }

    public void paint (Graphics g) {
        if (g instanceof Graphics2D) {
            Graphics2D g2 = (Graphics2D) g;
            AffineTransform flipTrans = new AffineTransform();
            double widthD = (double) getWidth();
            flipTrans.setToTranslation (widthD, 0);
            flipTrans.scale (-1.0, 1);
            g2.transform (flipTrans);
            super.paint(g);
        } else {
            super.paint(g);
        }
    }


    public static void main (String[] args) {
        BackwardsJTextField field =
            new BackwardsJTextField ("Through the looking glass", 50);
        JFrame frame = new JFrame("Backwards Text");
        frame.getContentPane().add (field);
        frame.pack();
        frame.setVisible(true);
    }
}