Comment dessiner une flèche dirigée ligne en Java?
Je veux dessiner une flèche dirigée ligne via Java.
À l'heure actuelle, je suis en utilisant java.awt.Line2D.Double
classe pour dessiner une ligne
g2.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); //g2 is an instance of Graphics2D
g2.draw(new Line2D.Double(x1,y1,x2,y2));
Mais seulement la ligne s'affiche et pas visé par la flèche apparaît. BasicStroke.Join_BEVEL
est utilisé pour tirer une flèche. Il est appliqué lorsque les deux segments de ligne rencontrer.
La ligne je suis de dessin répond à la frontière d'un rectangle mais pas visé par la flèche est tirée. Seulement une simple ligne est tracée.
Est-ce que je suis absent?
Vous devez vous connecter pour publier un commentaire.
Le biseau est établie entre les segments dans une polyligne si ils sont à certains angles. Il n'a aucune incidence si vous dessinez une ligne qui arrive à être tiré à proximité de certains autres pixels qui sont d'une certaine couleur - une fois que vous avez tiré le rectangle, l'objet Graphique ne sait pas sur le rectangle (en effet) ne comporte que les pixels. ( ou plutôt l'image ou de la fenêtre de l'OS détient les pixels ).
Pour dessiner une simple flèche, tracez une ligne de la tige que vous êtes en train de faire, puis une polyligne pour les vé. Plus agréable plus agréable flèches courbes côtés et sont remplis.
Vous ne voulez probablement pas à utiliser biseau pour la tête de flèche, comme les biseaux sont un plat; à la place, utiliser l'onglet option:
Bien que Pete post est incroyablement complet, je suis en utilisant cette méthode pour dessiner un très simple ligne avec un petit triangle à sa fin.
Dans le passé, j'ai écrit la méthode suivante pour créer une forme de flèche, que je peux et puis remplissez-les de ((Graphics2D) g).de remplissage(forme);
C'est mon approche, absolue Mathématiques seulement:
Juste au cas où si vous voulez un non programmatique flèche (I. e. pour le texte but) de Rapide, vous pouvez utiliser
<html>
code pour faire flèche de texte, il suffit de mettre votre code HTML à l'intérieur de.setText()
méthode d'un composant. J'aijava 1.8u202
il fonctionne très bien.myLabel.setText("<html><body>←</body></html>");
autres directions de flèche du code HTML de Ce Site Internet