Chcę zwiększyć szerokość linii 2D. Nie mogłem znaleźć żadnej metody, aby to zrobić. Czy w tym celu muszę wykonać mały prostokąt?Java2D: Zwiększ szerokość linii
66
A
Odpowiedz
139
Powinieneś użyć setStroke
, aby ustawić skok obiektu Graphics2D
.
Przykład pod adresem http://www.java2s.com podaje przykłady kodu.
Poniższy kod tworzy na obrazek poniżej: (.. Należy zauważyć, że metoda setStroke
nie jest dostępna w obiekcie Graphics
Trzeba oddać go do Graphics2D
obiektu)
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);
}
}
Ten post został napisany od nowa jako artykuł here.
+1 dla ilustracji! Rozważ także 'g2.setRenderingHint (RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)' – trashgod
Tak. Słuszna uwaga. – aioobe