EntityPareto - Visualizer

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

EntityPareto - Visualizer
Hi, ich habe mal eine graphische Testklasse für EntityPareto geschrieben: https://gist.github.com/frececroka/e9a8358f8f464b3acb60

Muss im gleichen Ordner wie EntityPareto und EntityInterfaces gespeichert werden. Ausführen per Kommandozeile:

java EntityParetoVisualizer [entityCount]

Die gefundenen Fronten sind farblich eingefärbt und mit der Nummer der Front annotiert. Durch einen Mausklick können neue, zufällige Entities erzeugt werden. Kleinere Entities liegen links von bzw. unter größeren Entities


Super, danke für deine Mühe.
Funktioniert; bekomme aber folgende Ausgabe:
Das passiert vor dem ersten klicken; also beim ausführen bekomme ich erstmal keine zufälligen Paretofronten angezeigt. Sondern erst nachdem ich einmal geklickt habe.

manuels-mbp:bin user$ java EntityParetoVisualizer 100
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at EntityParetoVisualizer.verifyAxioms(EntityParetoVisualizer.java:33)
	at EntityParetoVisualizer.paint(EntityParetoVisualizer.java:98)
	at javax.swing.RepaintManager$3.run(RepaintManager.java:819)
	at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
	at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:694)
	at java.awt.EventQueue$3.run(EventQueue.java:692)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Sieht so aus, als ob deine EntityPareto.disjoint() Methode null zurückgibt. Ist das möglich?



Du hast Recht, den Fall habe ich gerade ergänzt.

Allerdings hast du “java EntityParetoVisualizer 100” ausgeführt. Es werden also 100 zufällige Entities generiert, mit denen dann EntityPareto.disjoint aufgerufen wird - In diesem Fall sollte die Methode nicht null zurückgeben. Es kann natürlich sein, dass EntityParetoVisualizer einen Bug hat, allerdings kann ich das Problem bei mir nicht reproduzieren.

Edit: Ich glaube, ich weiß, was das Problem ist. Ich habe den Code geupdated, eventuell funktioniert es jetzt.


Jep… nun meckert er nicht mehr.

Danke nochmal für die Mühe :wink: