Java Programming‎ > ‎Graphics 2D‎ > ‎

Menulis Teks Pada Graphics

posted Sep 3, 2011, 11:01 PM by Editor KursusInternet   [ updated Dec 6, 2011, 10:39 AM ]

Pendahuluan

Untuk menulis teks pada objek Graphics maupun Graphics2D, kita gunakan method drawString(). Namun untuk penggunaan lebih lanjut tentunya kita harus mampu memilih font dengan ukuran yang sesuai.

Potongan berikut memberikan contoh penggunaan objek Font dan method drawString(teks, posisiX, posisiY).

    Font font = new Font("Serif", Font.PLAIN, 25);    
    FontMetrics metrics = g2d.getFontMetrics(font);      
    g2d.setFont(font);      
    g2d.drawString("KursusInternet.com"

                            (400-metrics.stringWidth("KursusInternet.com"))/230
                   );

Contoh Kode Lengkap

package com.kursusinternet.graphics;

import java.awt.Color;
import java.awt.Font;
import java.awt.FontFormatException;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Polygon;
import java.io.IOException;

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

public class TeksPadaGambar extends JPanel {

  private static final long serialVersionUID = 1L;

  public void gambar(Graphics g)
  {
    Graphics2D g2d = (Graphics2Dg;
    int x[] {50200350};
    int y[] {32050320};

    g2d.draw(new Polygon(x,y,x.length));
    
    Font font = new Font("Serif", Font.PLAIN, 25);    
    FontMetrics metrics = g2d.getFontMetrics(font);      
    g2d.setFont(font);      
    g2d.drawString("KursusInternet.com"
                     (400-metrics.stringWidth("KursusInternet.com"))/230
                  );
  }

  public void paintComponent(Graphics g) {
    clear(g);
    gambar(g);
  }

  protected void clear(Graphics g) {
    super.paintComponent(g);
  }

  public static void main(String[] args) {
    TeksPadaGambar panelGambar = new TeksPadaGambar();
    JFrame frameGambar = new JFrame("Gambar Polyline");
    frameGambar.setSize(400400);
    panelGambar.setBackground(Color.white);
    frameGambar.setContentPane(panelGambar);
    frameGambar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frameGambar.setVisible(true);
  }
}

Hasil Eksekusi


Comments