Memahami Konsep Dan Cara Menggambar Teks Yang Baik Di Java

Dalam postingan sebelumnya, aku banyak menjabarkan cara menciptakan komponen swing semoga lebih menarik, kebanyakan memakai gambar dan teks (String) yang di "Gambar" kedalam komponen java (JPanel, JTextField, dll) dengan cara meng-override method paint() atau PaintComponent(). Kalau banyak diantara temen-temen yang sudah mencoba dan mengimplementasikan teknik ini, niscaya ada diantara nya yang menyadari bahwa "Menggambar" teks akan terasa lebih sulit jikalau dibandingkan dengan "Menggambar" gambar/Image. Untuk "Menggambar" teks pada komponen java kita sanggup memakai method drawString(), Namun sering kali yang terjadi yaitu letak atau posisi teks tidak berada pada posisi yang kita inginkan.

Hal ini terjadi disebabkan oleh perbedaan letak/posisi baseline pada teks dan image. Oke gambar berikut aku harapkan sanggup memperlihatkan penjelasan:
 aku banyak menjabarkan cara menciptakan komponen swing semoga lebih menarik Memahami konsep dan cara Menggambar teks yang baik di Java
Gambaran Text Bounds (Batasan Teks)

Makara untuk "Menggambar" teks pada posisi yang kita inginkan, diharapkan mekanisme/teknik khusus untuk menangani ini. berikut cara yang sanggup dipakai untuk "menggambar" teks (KASUS: aku ingin menggambarkan teks padi serpihan tengah komponen):
  1. Cari letak/posisi tengah komponen yang akan menjadi "kanvas" dsari goresan pena kita (baik berupa JPanel, JTextField, dll)
  2. 2. Mencari/Menentukan text bound dari teks yang akan kita gambarkan.
  3. Cari Visual Bound dari teks yang akan kita gambarkan
  4. Menghitung titik kiri bawah dari teks. perhatikan bahwa kita mencari koordinat y di mana kita ingin menyebabkan dasar untuk menempatkan/menggambar teks. lalu memakai tinggi dari batas visual (Visual bounds pada langkah sebelumnya) untuk dijadikan sentra dari teks yang akan kita gambarkan.


Pusing? hehe sante coba simak isyarat dibawah ini semoga lebih faham wacana konsep ini:

graphics2D.setFont(new Font("Helvetica", Font.BOLD, 32));  // Langkah 1         int centerX = getWidth() / 2;         int centerY = getHeight() / 2;  // Langkah 2         FontMetrics fontMetrics = graphics2D.getFontMetrics();         Rectangle stringBounds = fontMetrics.getStringBounds(text, graphics2D).getBounds();  // Langkah 3         Font font = graphics2D.getFont();         FontRenderContext renderContext = graphics2D.getFontRenderContext();         GlyphVector glyphVector = font.createGlyphVector(renderContext, text);         Rectangle visualBounds = glyphVector.getVisualBounds().getBounds();  // Langkah 4         int textX = centerX - stringBounds.width / 2;         int textY = centerY - visualBounds.height / 2 - visualBounds.y;          graphics2D.drawString(text, textX, textY); 

Oke, ini beliau hasilnya
 aku banyak menjabarkan cara menciptakan komponen swing semoga lebih menarik Memahami konsep dan cara Menggambar teks yang baik di Java
Tampilan JPanel yang telah di "Gambari" dengan goresan pena javadanphp.blogspot.com

Posisi teks benar benar berada pada serpihan tengah komponen, bahkan ketika di resize, posisinya pun akan mengikuti, berbeda dengan ketika kita hanya memakai method ini saja untuk menggambarkan String/teks.
 aku banyak menjabarkan cara menciptakan komponen swing semoga lebih menarik Memahami konsep dan cara Menggambar teks yang baik di Java
Hasil gambar tetap berada di tengah ketika di resize

Silahkan download Netbeans projectnya, untuk isyarat lengkapnya disini.

Terima kasih sudah meluangkan waktu untuk mengunjungi blog ini.

Belum ada Komentar untuk "Memahami Konsep Dan Cara Menggambar Teks Yang Baik Di Java"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel