2010-12-23 22 views
13

Bir * .ico dosyasından WindowBuilder tasarım penceresini kullanarak oluşturduğum bir pencereye harici bir simge eklemeye çalışıyorum. "image" özellik alanını getiren kabuğu seçebilirim. görüntü seçici iletişim kutusunu getirir alt text : alt textWindowBuilder ile oluşturulan bir SWT penceresine bir simge olarak bir yol yolu kaynağı olarak nasıl ekleyebilirim?

nasıl simgesi sınıf yolu kaynağı olarak bu menüde gösterilir yapabilirim? Görüntü mutlak bir yol verilirse çalışır, ancak bu seçeneği benim uygulamamda kullanmak istemiyorum.

Teşekkürler!

cevap

27

Sınıf yoluma kolayca bir simge eklemek için, istediğim simgeyi buldum, sağ tıkladı, "kopyala" seçildikten sonra Eclipse'deki projemin paketlerinden birine gitti, sağ tıkladım ve "yapıştır" ı seçtim. Görüntü seçici iletişim kutusunu bir dahaki sefere çıkardığımda, yerel paketim, kullanılabilir bir sınıf yolu kaynağı olarak listelenen simgeye sahipti ve ben onu seçtim. image chooser

Projeyi runable bir JAR'a verebildim ve simgesi hala çalıştı.

+1

Resim dosyalarını bir sınıf yolu kaynağı olarak başarılı bir şekilde gösterebildim, ancak JLabel simgem için onları seçtiysem, görünmez. Görüntüyü mutlak bir yol olarak seçtiyseniz, belirir. Dosyaları paketlerinde olduğunu doğruladım. Sorun ne olabilir? – MultiGuy

2

Ben WindowBuilder içinde bunun nasıl bilmiyorum ama setImage() veya setImages() aracılığıyla Shell inşa ederken bir Image kaynak belirtebilirsiniz. Bu ikincisini kullanmanızı öneririm, çünkü pencereyi kontrol kutusu, Windows görev çubuğu ve alt + sekme listesi dahil olmak üzere çeşitli çözünürlük simgeleriyle sağlar.

Take a look at this snippet.

bir kaynaktan yüklemek için:

final Image small = new Image(shell.getDisplay(), 
     "resources/images/icon_16.png"); 
final Image large = new Image(shell.getDisplay(), 
     "resources/images/icon_32.png"); 
final Image[] images = new Image[] { small, large }; 
shell.setImages(images); 

Bu örnekte, bir alt klasör "kaynak" var ise, o zaman iki PNGs "resimler" içeren. Bir JAR kaynağı belirtmek, denemediğim halde benzer şekilde çalışmalıdır.

6

Çalıştığım çözüm, resimlerinizi içeren bir jar oluşturmak ve onu sınıf yolunuza eklemek. Daha sonra bunları ikinci ekran görüntüsünüzdeki diyalogdan seçebileceksiniz.

Bunu, yapı yolunuzdaki dizinlerle çalışırken hatırlıyorum. Şimdi bir kavanoz paketinde olmak zorunda görünüyor.

+0

Sadece bir görüntü içeren bir jar dosyası nasıl oluşturulur? – Zoot

+2

Bir kavanoz dosyası sadece bir zip arşividir. bir zip dosyası oluşturmak ve uzantısını kavanoza değiştirmek için herhangi bir arşiv programını (7-zip'i tercih ederim) kullanın. –

3

Projenize desteklenen her türlü resmi eklemek için, projenizin 'src' klasörüne ve Yeni ... Paketine ... sağ tıklayın ve Ad altında, örneğin 'kaynaklar' yazın. Bundan sonra sadece görüntülerinizi orada kopyalamanız gerekir. Projeyi çalıştırılabilir bir JAR'a dışa aktardığınızda, tüm kaynaklar bir araya gelir ve düzgün çalışır.

0

Eclipse Juno'da 4.2. Görüntü seçici genellikle kaynak klasörünü göstermez (ör. Maven yapılandırılmış bir projeden: src/main/resources. Muhtemelen bu bir hatadır.

Kaynak klasörünü kaldırır ve ekleme seçeneğini açıkça ekleyin. Java Oluşturma Yolu Penceresinde (Kaynak Sekmesi), "dahil" seçeneğini kaldırdıktan ve "Tümü" olarak ayarladıktan sonra bile yine de gösterecektir.

Elbette, kaldırabilir ve ekleyebilirsiniz. src/main/resources klasörüne sağ tıklandığında, içerik menüsünden doğrudan.

1

Durumumda, WindowBuilder * .ico biçimini tanıdı, ancak özel simgemle varsayılan Java simgesini değiştirmedi. Window.Builder'ın, gerçekten bir PNG olsa bile, nihayet varsayılan Java ikonunu özel "simge" olarak değiştirdiğine * .ico * .png (through this handy online tool) dönüştürdüğüm zaman oldu. WindowBuilder'ın ICO formatını tanıyabilmesini bekledim.