java 文字垂直排列

exp1:

 

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JPanel {
  public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D) g;
    AffineTransform at = new AffineTransform();
    at.setToRotation(-Math.PI / 2.0, getWidth() / 2.0, getHeight() / 2.0);
    g2d.setTransform(at);
    g2d.drawString("Vertical text", 10, 10);
  }

  public static void main(String[] a) {
    JFrame f = new JFrame();
    f.add(new Main());

    f.setSize(300, 300);
    f.setVisible(true);
  }
}

  exp:2

import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JPanel{
  String s = "Vertical text";
  int v;

  public void paint(Graphics g) {
    v = g.getFontMetrics(getFont()).getHeight() + 1;
    int j = 0;
    int k = s.length();
    while (j < k + 1) {
      if (j == k)
        g.drawString(s.substring(j), 10, 10 + (j * v));
      else
        g.drawString(s.substring(j, j + 1), 10, 10 + (j * v));
      j++;
    }
  }
  public static void main(String[] a){
    JFrame f = new JFrame();
    f.add(new Main());
    f.setSize(300,300);
    f.setVisible(true);
  }
}
 

 

你可能感兴趣的:(java)