Java2D: Vergroot de lijnbreedte

Ik wil de Line2D-breedte vergroten. Ik kon geen methode vinden om dat te doen. Moet ik hiervoor een kleine rechthoek maken?


Antwoord 1, autoriteit 100%

U moet setStrokegebruiken om een ​​lijn van het Graphics2D-object in te stellen.

Het voorbeeld op http://www.java2s.comgeeft u enkele codevoorbeelden.

De volgende code levert de onderstaande afbeelding op:

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

voer hier de afbeeldingsbeschrijving in

(Merk op dat de setStroke-methode niet beschikbaar is in het Graphics-object. U moet deze naar een Graphics2D-object casten.)


Dit bericht is hierherschreven als een artikel.


Antwoord 2, autoriteit 2%

Wat is Stroke:

De klasse BasicStroke definieert een basisset van renderattributen voor
de contouren van grafische primitieven, die worden weergegeven met a
Graphics2D-object waarvan het Stroke-attribuut hierop is ingesteld
BasicStroke.

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

Merk op dat de instelling Stroke:

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

bepaalt de lijnbreedte,sinds BasicStroke(float width):

Construeert een solide BasicStroke met de gespecificeerde lijndikte en met standaardwaarden voor de cap- en join-stijlen.

En het heeft ook effect op andere methoden zoals Graphics2D.drawLine(int x1, int y1, int x2, int y2)en Graphics2D.drawRect(int x, int y, int width, int height):

De methoden van de Graphics2D-interface die de omtrekvorm gebruiken
geretourneerd door een Stroke-object omvatten draw en andere methoden die
zijn geïmplementeerd in termen van die methode, zoals drawLine, drawRect,
drawRoundRect, drawOval, drawArc, drawPolyline en drawPolygon.

Other episodes