2012-04-05 4 views
3

Ich war mehrere Jahre von Java weg, also vergib mir meinen Rost. Ich habe Code-Targeting für Java SE 1.5 übernommen. Wenn unter Java Aufbau 1.7.0 gibt es mehrere Build-Warnungen mit dem Text:Was macht sun.awt.geom.Crossings?

Crossings ist interne proprietäre API und kann sich in zukünftigen Release entfernt.

Ich möchte diese Build-Warnung beheben, wahrscheinlich indem ich diesen Code durch meinen eigenen ersetze. Beim Untersuchen des Codes sehe ich, dass die betreffende Klasse sun.awt.geom.Crossings ist. Die OpenJDK code ist natürlich verfügbar, aber ich verstehe den Gesamtzweck der Klasse oder ihrer konkreten Implementierungen nicht. Was ist der Zweck von sun.awt.geom.Crossings? Wo finde ich weitere Unterlagen?

+0

Überprüfen Sie diese http://docstore.mik.ua/orelly/java/awt/ch02_01.htm#JAWT-CH-2-FIG-9 'Das Füllen von Polygonen ist ein komplexes Thema. Es ist nicht so einfach wie das Füllen von Rechtecken oder Ovalen, da ein Polygon möglicherweise nicht geschlossen ist und seine Kanten sich kreuzen können. AWT verwendet eine gerade-ungerade Regel, um Polygone zu füllen. Dieser Algorithmus berechnet, wie oft jede Scanlinie eine Kante des Polygons kreuzt. Wenn die Gesamtzahl der Kreuzungen links vom aktuellen Punkt ungerade ist, ist der Punkt farbig. Wenn es gerade ist, wird der Punkt in Ruhe gelassen. –

+0

Sie können sehen, dass 'Crossings'-Klasse hier verwendet wird; Beispiel: 'Area.contains()', um die Übergänge eines rechteckigen Bereichs innerhalb eines Bereichs zu überprüfen. in http://kickjava.com/src/java/awt/geom/Area.java.htm. Da seine Anwendung hauptsächlich in anderen häufig verwendeten Klassen verwendet wird, müssen Sie sich keine Sorgen machen. Aber wenn Sie es direkt verwenden, haben Sie möglicherweise ein Problem in der Zukunft! –

+1

@ee. Vielen Dank. Dies ist im Wesentlichen die Information, die ich suchte. Ja, der ursprüngliche Autor des fraglichen Codes hat 'Crossings' direkt verwendet, was ich versuche zu beheben. Sie könnten in Betracht ziehen, Ihre Kommentare als Antwort zu posten. – Andrew

Antwort

1

Seit @ee. ist nicht zurückgekommen, um seine oder ihre Kommentare als Antwort neu zu schreiben, ich werde es hier tun. @ee., wenn Sie vorbeikommen, würde ich gerne das Häkchen bei Ihrer Antwort setzen.

prüfen diese http://docstore.mik.ua/orelly/java/awt/ch02_01.htm#JAWT-CH-2-FIG-9:

Füllen von Polygonen ist ein komplexes Thema. Es ist nicht so einfach wie das Füllen von Rechtecken oder Ovalen, da ein Polygon möglicherweise nicht geschlossen ist und seine Kanten sich kreuzen können. AWT verwendet eine gerade-ungerade Regel, um Polygone zu füllen. Dieser Algorithmus berechnet, wie oft jede Scanlinie eine Kante des Polygons kreuzt. Wenn die Gesamtzahl der Kreuzungen links vom aktuellen Punkt ungerade ist, ist der Punkt farbig. Wenn es gerade ist, wird der Punkt in Ruhe gelassen.

können Sie sehen Crossings Klasse verwendet hier ist; zum Beispiel: Area.contains(), um die Übergänge eines rechteckigen Bereichs innerhalb eines Bereichs zu überprüfen. in http://kickjava.com/src/java/awt/geom/Area.java.htm. Da seine Anwendung hauptsächlich in anderen häufig verwendeten Klassen verwendet wird, müssen Sie sich keine Sorgen machen. Aber wenn Sie es direkt verwenden, haben Sie möglicherweise ein Problem in der Zukunft!