Tôi muốn xoay văn bản trên một JPanel sử dụng Graphics2D ..Làm thế nào để xoay văn bản với Graphics2D trong Java?
Mã của tôi là thế này:
double paso=d.width/numeroBarras;
double alto=datos[i].valor;
Font fBarras=new Font("Serif", Font.PLAIN, 15);
g2.setFont(fBarras);
Rectangle2D barra=new Rectangle2D.Double(x,d.height-alto,paso,alto);
//g2.fill(barra);
x+=paso;
g2.draw(barra);
g2.rotate(-Math.PI/2);
g2.setColor(Color.BLACK);
g2.drawString(datos[i].titulo,(float)alto,(float)paso)
Phương pháp này phải vẽ một hình chữ nhật và một văn bản qua hình chữ nhật, nhưng khi tôi chạy tất cả các phương pháp này đồ họa được quay và tôi chỉ muốn xoay văn bản ..
Cảm ơn :)
này đã làm việc một cách hoàn hảo !! :) Cảm ơn !! – rafuru
Vì vậy, nó xoay chuỗi nhưng không phải là hệ tọa độ? – qed
Nó sửa đổi hiện tại ['transform'] (http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html#getTransform()) của ngữ cảnh hiển thị. Tham chiếu ['Graphics2D'] (http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html) quy định rằng biến đổi được sử dụng để chuyển đổi từ hệ thống tọa độ Không gian Người dùng sang Không gian Thiết bị. Vì vậy, nó xoay hệ tọa độ :) Dòng cuối cùng của ví dụ này là khôi phục lại biến đổi sau khi kết xuất chuỗi. – Mersenne