Java2D: Satır genişliğini artırın


81

Line2D genişliğini artırmak istiyorum. Bunu yapmak için herhangi bir yöntem bulamadım. Bu amaç için gerçekten küçük bir dikdörtgen yapmam gerekiyor mu?

Yanıtlar:


166

Nesnenin setStrokevuruşunu ayarlamak için kullanmalısınız Graphics2D.

Http://www.java2s.com adresindeki örnek size bazı kod örnekleri verir.

Aşağıdaki kod, aşağıdaki görüntüyü oluşturur:

import java.awt.*;
import java.awt.geom.Line2D;
import javax.swing.*;

public class FrameTest {
    public static void main(String[] args) {
        JFrame jf = new JFrame("Demo");
        Container cp = jf.getContentPane();
        cp.add(new JComponent() {
            public void paintComponent(Graphics g) {
                Graphics2D g2 = (Graphics2D) g;
                g2.setStroke(new BasicStroke(10));
                g2.draw(new Line2D.Float(30, 20, 80, 90));
            }
        });
        jf.setSize(300, 200);
        jf.setVisible(true);
    }
}

görüntü açıklamasını buraya girin

( setStrokeYöntemin Graphicsnesnede bulunmadığını unutmayın . Bir Graphics2Dnesneye dönüştürmeniz gerekir.)


Bu gönderi burada bir makale olarak yeniden yazılmıştır .


28
Resim için +1! Ayrıca, düşününg2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)
trashgod

2

Nedir Stroke:

BasicStroke sınıfı, Stroke özniteliği bu BasicStroke'a ayarlanmış bir Graphics2D nesnesiyle işlenen grafik ilkellerinin ana hatları için temel bir oluşturma öznitelikleri kümesini tanımlar.

https://docs.oracle.com/javase/7/docs/api/java/awt/BasicStroke.html

Not Strokeayarı:

Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(10));

çizgi genişliğini ayarlıyor, çünkü BasicStroke(float width):

Belirtilen çizgi genişliğine ve uç ve birleştirme stilleri için varsayılan değerlere sahip katı bir BasicStroke oluşturur.

Ayrıca Graphics2D.drawLine(int x1, int y1, int x2, int y2)ve gibi diğer yöntemleri de etkiler Graphics2D.drawRect(int x, int y, int width, int height):

Bir Stroke nesnesi tarafından döndürülen anahat Shape'i kullanan Graphics2D arabiriminin yöntemleri, drawLine, drawRect, drawRoundRect, drawOval, drawArc, drawPolyline ve drawPolygon gibi bu yöntemle uygulanan diğer yöntemleri içerir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.