program for centering Text Alignment

noobprogrammer :

A program that centers text, left to right, top to bottom, in a window. It obtains the ascent, descent, and width of the string and computes the position at which it must be displayed to be centered.

Ashutosh Thute :

Here is a sample program for your query

import java.applet.*;
import java.awt.*;

/*
<applet code="CenterText" width=200 height=100>
</applet>
*/
public class CenterText extends Applet {

    final Font f = new Font("SansSerif", Font.BOLD, 18);

    public void paint(Graphics g) {
        Dimension d = this.getSize();
        g.setColor(Color.white);
        g.fillRect(0, 0, d.width, d.height);
        g.setColor(Color.black);
        g.setFont(f);
        drawCenteredString("This is centered.", d.width, d.height, g);
        g.drawRect(0, 0, d.width-1, d.height-1);
    }

    public void drawCenteredString(String s, int w, int h, Graphics g) {
        FontMetrics fm = g.getFontMetrics();
        int x = (w - fm.stringWidth(s)) / 2;
        int y = (fm.getAscent() + (h - (fm.getAscent() + fm.getDescent()))/2);
        g.drawString(s, x, y);
    }
}

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=415686&siteId=1