2010-03-04 20 views
6

Kişilerin bir listesini alan ve bunları yönlendirilmiş grafikte birbirine bağlayan bir program yazmam gerekecek. Tüm projenin GUI yönü çok önemlidir. Grafik çok fazla etkileşime izin vermelidir. Birkaç insanı seçme ve diğerlerini gizleme, onları hareket ettirme gibi.Yönlendirilmiş grafikler tasarlamak için açık kaynaklı kütüphaneler

Ayrıca, yazılım, birkaç sekme, metin kutuları vb

uygulama oldukça verimli olmalı gibi GUI-özelliklerinden başka türlü sağlayabilmelidir gerekecektir. İçeride olduğu gibi, binlerce widget değilse yüzlerce işlem yapabilmelidir.

Bu nedenle, hangi açık kaynak kitaplıklarının (bu noktada yazdıkları programlama dili önemli değil - sadece oradaki her şeyin iyi bir görünümünü görmek istiyorum) bilmek istiyorum. yazılım Ne önerirsiniz?

Düzenleme: Ayrıca, oluşturulan grafikle etkileşimde bulunabilecek bir GUI'yi nasıl programlayabileceğimi açıklayan öğreticilere de bağlantı verebilir misiniz? Örneğin fare olayları.

cevap

5

JGraph ile birlikte JGraphT'a ne dersiniz? Gerçek hedef ve ihtiyaçlarına bağlı olarak temel etkileşim

+0

JGraph webstart demo uygulaması oldukça tatlı görünümlü: http://jgraph.com/jgraph.html Ne yazık ki sadece ticari görünüyor? – dsummersl

+2

JGraph/JGraphX ​​ticari değildir, BSD lisanslıdır. Ne de atıfta bulunuyorsunuz aynı adamlar tarafından bir javascript kütüphanesi olan mxGraph http://www.jgraph.com/mxgraph.html. mxGraph ticari – jitter

4

Graphviz'a, özellikle de lefty bileşenine bir bakın. İhtiyaçlarınızı karşılamalıdır.

http://en.wikipedia.org/wiki/Graphviz

+0

Bunun için teşekkürler. Graphviz kullanmam gerekeni benziyor. Ancak, yazılımım için Java veya Ruby gibi bir programlama dili kullanmayı tercih ederim. Kullanıcı bir düğüme tıkladığında bir fare olayı eklemek için bir GUI'den (örn. Tk, GTK, Qt veya Swing) nasıl olabileceğini gösteren iyi bir öğreticiniz var mı? Ben nasıl bunu kendim anlamaya edemedik. Zaman ayırdığınız için teşekkür ederiz. – Benjamin

1

Sen Dynagraph için bir göz atmak isteyebilirsiniz.

DÜZENLEME: Graphviz ve Dynagraph'ı sunan bir makale here kullanılabilir.

+0

Bunun için teşekkürler. Bir düğüme fare tıklaması gibi olayları eklemenize kolayca izin verebilecek herhangi bir eğitim veya bağlayıcı kitaplık var mı? – Benjamin

3

burada bir simple demo için

Kontrol, sen processing.org bir göz alarak düşünebilirsiniz. Sitede birçok demo var ve diğer birçok kütüphane gibi ücretsizdir. İşleme kullanmak çok fazla öğrenmenizi gerektirmez. Java'ya benzer ve Java ile yazılmış, ancak Java yapısının ve kodun çoğunu görmezden gelerek istediğiniz şeyi yapmanıza izin verir.

Kod yazmak için x veya y kullanmak istediğinizi belirttiğiniz için, bir dil kararı almadığınıza benziyor, bu sizin zamanınıza değer olabilir. Orada 15 dakika geçirin ve aradığınızı sağlayıp sağlamadığını görmek için demolara bakın. Tek bir çözümde hız, kriterlerinizden biri ise, bunu yapabilir.

0

ilk düşüncem artık IBM tarafından sahip olunan, (Java, .NET, C++ için) ILOG Views, ama onların fiyatlandırma oldukça dik. İkinci düşüncem belki yEd (yalnızca Java) ile birlikte yFiles (Java veya .NET için) olacaktır. Bu hala kesmiyorsa, this list'daki alternatiflere göz atın (oldukça sıralanmamış, bazı araçlar açık kaynak değildir, diğerleri başka nedenlerle size uygun değildir).

İlgili konular