it-swarm.com.de

Java2D: Erhöhen Sie die Linienbreite

Ich möchte die Line2D-Breite vergrößern. Ich konnte keine Methode finden, um das zu tun. Muss ich dazu tatsächlich ein kleines Rechteck machen?

71
Boolean

Sie sollten setStroke verwenden, um einen Strich des Graphics2D-Objekts festzulegen.

Das Beispiel unter http://www.Java2s.com enthält einige Codebeispiele.

Der folgende Code erzeugt das folgende Bild:

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);
    }
}

enter image description here

(Beachten Sie, dass die setStroke-Methode im Graphics-Objekt nicht verfügbar ist. Sie müssen sie in ein Graphics2D-Objekt umwandeln.)


Dieser Beitrag wurde als Artikel hier neu geschrieben.

150
aioobe

Was ist Stroke:

Die BasicStroke-Klasse definiert einen grundlegenden Satz von Renderattributen für die Umrisse von Grafikprimitiven, die mit einem .__ gerendert werden. Graphics2D-Objekt, für das das Stroke-Attribut auf diesen Wert festgelegt ist BasicStroke.

https://docs.Oracle.com/javase/7/docs/api/Java/awt/BasicStroke.html

Beachten Sie, dass die Einstellung Stroke:

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

setzt die Linienbreite, da BasicStroke(float width):

Konstruiert ein ausgefülltes BasicStroke mit der angegebenen Linienbreite und mit Standardwerten für die Ober- und Verbindungsstile.

Und es beeinflusst auch andere Methoden wie Graphics2D.drawLine(int x1, int y1, int x2, int y2) und Graphics2D.drawRect(int x, int y, int width, int height):

Die Methoden der Graphics2D-Schnittstelle, die die Gliederung Shape .__ verwenden. Von einem Stroke-Objekt zurückgegeben werden include und alle anderen Methoden, die werden in Bezug auf diese Methode implementiert, z. B. drawLine, drawRect, drawRoundRect, drawOval, drawArc, drawPolyline und drawPolygon.

0
ZhaoGang