沁园春.雪输出诗句代码

1.代码

package wy2;
import java.awt.*;
import java.awt.Font;
import java.awt.font.FontRenderContext;
import java.awt.geom.Rectangle2D;

import javax.swing.*;
public class Java_3 {
public static void main(String [] args)
{
FontFrame frame=new FontFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用来关闭窗口
frame.setVisible(true);//把图形界面设置为可见
}
}
class FontFrame extends JFrame{
    public FontFrame() {
        setTitle("沁园春。雪");
        setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
        FontPanel panel=new FontPanel();
        Container contentPane=getContentPane();
        contentPane.add(panel);
    }
    public static final int DEFAULT_WIDTH=300;
    public static final int DEFAULT_HEIGHT=200;
}
class FontPanel extends JPanel{
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        Graphics2D g2=(Graphics2D)g;
        String message="数风流人物,还看今朝!";
        Font f=new Font("隶书",Font.BOLD,24);
        g2.setFont(f);
        FontRenderContext context=g2.getFontRenderContext();
        Rectangle2D bounds=f.getStringBounds(message, context);
        double x=(getWidth()-bounds.getWidth())/2;
        double y=(getHeight()-bounds.getHeight())/2;
        double ascent=-bounds.getY();
        double baseY=y+ascent;
        g2.setPaint(Color.RED);
        g2.drawString(message, (int)x, (int)(baseY));
    }
}

2.生成图片

发布了90 篇原创文章 · 获赞 50 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_40307919/article/details/100518868
今日推荐