如题,(注:是指单个文字)谢谢了!!!

解决方案 »

  1.   

    这里有一图片旋转的例子,参照一下即可实现.import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.MediaTracker;
    import java.awt.Toolkit;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.geom.AffineTransform;import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;public class ScrollPaneDemo extends JFrame implements MouseListener {    private static final long serialVersionUID = -8833161611850547265L;    ImagePanel jp;    JScrollPane jsp;    public ScrollPaneDemo() {
            super("JScrollPane Demo");
            jp = new ImagePanel();
            jp.setPreferredSize(new Dimension(600, 400));
            jsp = new JScrollPane(jp);
            jp.addMouseListener(this);
            getContentPane().add(jsp);
            setSize(640, 480);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setVisible(true);
        }    public void mouseClicked(MouseEvent e) {
            // System.out.println("mouseClicked");
            // jp.enlarge();
            jp.RotateRight();
            jp.setPreferredSize(jp.getPreferredSize());
            jsp.validate();
        }    public void mousePressed(MouseEvent e) {
            // System.out.println("mousePressed");
        }    public void mouseReleased(MouseEvent e) {
            // System.out.println("mouseReleased");
        }    public void mouseEntered(MouseEvent e) {
            // System.out.println("mouseEntered");
        }    public void mouseExited(MouseEvent e) {
            // System.out.println("mouseExited");
        }    public static void main(String[] args) {
            new ScrollPaneDemo();
        }
    }class ImagePanel extends JPanel {    private Image image;    private double currentAngle;    private Dimension theSize = new Dimension(800, 600);    double w = theSize.getWidth();    double h = theSize.getHeight();    public ImagePanel() {
            this.image = Toolkit.getDefaultToolkit().getImage("01.jpg");
            MediaTracker mt = new MediaTracker(this);
            mt.addImage(image, 0);
            try {
                mt.waitForID(0);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }    public void setImage(Image image) {
            this.image = image;
            this.repaint();
        }    public Image getImage() {
            return this.image;
        }    public void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2d = (Graphics2D) g;
            AffineTransform origXform = g2d.getTransform();
            AffineTransform newXform = (AffineTransform) (origXform.clone());
            int xRot = this.getWidth() / 2;
            int yRot = this.getHeight() / 2;
            newXform.rotate(Math.toRadians(currentAngle), xRot, yRot);
            g2d.setTransform(newXform);
            int x = (getWidth() - image.getWidth(this)) / 2;
            int y = (getHeight() - image.getHeight(this)) / 2;
            g2d.drawImage(image, x, y, this);
            //g2d.drawString("你好",x,y);
            g2d.setTransform(origXform);
        }    public void RotateRight() {
            currentAngle += 30.0;// 顺时针旋转30度
            // currentAngle -= 30.0;//逆时针旋转30度
            if (currentAngle >= 360.0) {
                currentAngle = 0;
            }        double cos = Math.abs(Math.cos(Math.toRadians(currentAngle)));
            double sin = Math.abs(Math.sin(Math.toRadians(currentAngle)));        theSize.width = (int) (w * cos + h * sin);
            theSize.height = (int) (w * sin + h * cos);        setSize(theSize);        repaint();
        }    public Dimension getPreferredSize() {
            return this.theSize;
        }
    }
      

  2.   

    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import javax.swing.*;class MyWindowListener extends WindowAdapter
    {
    public void widowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    }public class RotateString extends JComponent
    {
    public void paintComponent(Graphics g)
    {
    AffineTransform at;
    int i;

    Graphics2D g2=(Graphics2D)g;
    Dimension size=getSize();
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                         RenderingHints.VALUE_ANTIALIAS_ON);
    g2.setColor(Color.white);
    g2.fill(new Rectangle2D.Double(0,0,size.width,size.height));

    at=new AffineTransform();

    Font f1=new Font("Serif",Font.BOLD,18);
    g2.setFont(f1);

    Color colorArray[]=new Color[10];
    colorArray[0]=Color.blue;
    colorArray[1]=Color.green;
    colorArray[2]=Color.magenta;
    colorArray[3]=Color.black;
    colorArray[4]=Color.blue;
    colorArray[5]=Color.green;
    colorArray[6]=Color.magenta;
    colorArray[7]=Color.black;

    for(i=0;i<8;i++)
    {
    at.rotate(Math.PI/4,180,200);
    g2.setTransform(at);
    g2.setColor(colorArray[i]);
    g2.drawString("Hello,World!",200,200);
    }
    }

    public static void main(String s[])
    {
    MyWindowListener l=new MyWindowListener();

    RotateString c=new RotateString();

    JFrame f=new JFrame("TestAffineTranform...");
    f.addWindowListener(l);
    f.getContentPane().add(c,BorderLayout.CENTER);
    f.pack();
    f.setSize(400,400);
    f.show();
    }

    }
    希望对你有点帮助。
      

  3.   

    hard hard study,day day up!!!