哪位大哥有java文字翻转180度的代码啊,在线等。。。。。。 如题,(注:是指单个文字)谢谢了!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里有一图片旋转的例子,参照一下即可实现.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; }} 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(); } }希望对你有点帮助。 hard hard study,day day up!!! 线程的执行顺序 请问字符为空的条件怎么写? 如何判断jis第一水准 第二水准 外字??shift-jis有第一水准 第二水准 外字区分吗?? int 与Integer 区别 System.currentTimeMillis()时间问题? 有这样的一道题,各位懂的帮看一下 关于serversocket监听! java中如何实现这个功能?请高手不吝赐教 java模拟先来先服务算法,求大神助我! 关于Exception的问题 请高手帮忙解决套打问题! 数据库驱动的问题
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;
}
}
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();
}
}
希望对你有点帮助。