Quiero aumentar el ancho de Line2D. No pude encontrar ningún método para hacer eso. ¿Necesito hacer un pequeño rectángulo para este propósito?
81
Debe utilizar setStroke
para establecer un trazo del Graphics2D
objeto.
El ejemplo en http://www.java2s.com le ofrece algunos ejemplos de código.
El siguiente código produce la siguiente imagen:
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);
}
}
(Tenga en cuenta que el setStroke
método no está disponible en el Graphics
objeto. Debe convertirlo en un Graphics2D
objeto).
Esta publicación ha sido reescrita como un artículo aquí .
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)
Que es
Stroke
:https://docs.oracle.com/javase/7/docs/api/java/awt/BasicStroke.html
Tenga en cuenta que la
Stroke
configuración:Graphics2D g2 = (Graphics2D) g; g2.setStroke(new BasicStroke(10));
está configurando el ancho de línea, ya que
BasicStroke(float width)
:Y también afecta a otros métodos como
Graphics2D.drawLine(int x1, int y1, int x2, int y2)
yGraphics2D.drawRect(int x, int y, int width, int height)
:fuente