package chapter15;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
@SuppressWarnings("serial")
public class TestCenterMessage extends JFrame{
public TestCenterMessage(){
setTitle("aaa");
CenterMessage messagePanel = new CenterMessage();
add(messagePanel);
messagePanel.setBackground(Color.white);
messagePanel.setFont(new Font("Californian FB",Font.BOLD,30));
}
public static void main(String[] args) {
TestCenterMessage frame = new TestCenterMessage();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
frame.setVisible(true);
}
}
@SuppressWarnings("serial")
class CenterMessage extends JPanel{
protected void paintComponent(Graphics g) {
super.paintComponent(g);
FontMetrics fm = g.getFontMetrics();//
int stringWidth = fm.stringWidth("welcome to java");
int stringAscent = fm.getAscent();
//定义首字母左下标位置(x,y)
int xCoordinate = getWidth()/2-stringWidth/2;
int yCoordinate = getHeight()/2-stringAscent/2;
g.drawString("welcome to java", xCoordinate, yCoordinate);
}
}