2011-02-18 16 views
6

Ben Nimbus görünüm kullanarak ve his duyuyorum. Bu link göre, size JTree ile 3 farklı hat stilleri elde etmek mümkün olmalıdır:JTree Çizgi Stili ve Nimbus

enter image description here

Aşağıdaki kodu kullanırken:

 

theTree.putClientProperty("JTree.lineStyle", "Horizontal"); 
 

Benim JTree şöyle görünür:

enter image description here

"Yok" stili vardır ve "Yatay" stili yoktur. Bunun neden olabileceği hakkında bir fikrin var mı? Nmbus ile ilgisi var mı? Bu özelliği ayarladıktan sonra özel bir şey mi çağırmalıyım?

Teşekkür

+0

olarak burayı kullanıyor musunuz? –

+0

@Stack Evet. Ancak JTree'im özeldir. GUI editörünü kullanmaz. – user489041

+0

Bundan emin değilim. Bu [yazı] göz atın (http://stackoverflow.com/questions/1347607/netbeans-jtree-linestyle). Öneri setUI ve updateUI'yi geçersiz kılmaktır. –

cevap

5

Ben Nimbus JTree.lineStyle özelliğini destekler inanmıyorum. Sadece MetalLookAndFeel yapar.

javax.swing.plaf.synth.SynthTreeUI (Nimbus tarafından kullanılan) ve MetalTreeUI (Metal tarafından kullanılan) için kaynak koduna bakın.

MetalLookAndFeel değiştirin ve çalışıp çalışmadığına bakın.

+0

İlginç. Metal LaF'a değiştirdim ve işe yaradı. Nimbus'un onlara destek vermediği bir şey var. – user489041

+0

Bunu daha önce Nimbus ile yapmaya çalıştım ve Nimbus'un desteklediği bir yol bulamadı. Dogbane'nin cevabına katılıyorum. – jzd

+0

Özel oluşturmayı kullanarak bunu denediniz mi? –

4

mükemmel ama yakın değil

NimbusLookAndFeel laf = new NimbusLookAndFeel(); 
UIManager.setLookAndFeel(laf); 
nimbUID = laf.getDefaults(); 
nimbUID.put("Tree.drawHorizontalLines", true); 
nimbUID.put("Tree.drawVerticalLines", true); 

yaparak bu etkinin bazı alabilirsiniz çıkıyor. şu pasajı benim için çalışıyor

: Bu hala ilgilenen herkes için

0

.

NewNimbusLookAndFeel laf = new NewNimbusLookAndFeel(); 

UIDefaults defs = laf.getDefaults(); 
defs.put("Tree.drawHorizontalLines", true); 
defs.put("Tree.drawVerticalLines", true); 
defs.put("Tree.linesStyle", "dashed"); 

try { 
    UIManager.setLookAndFeel(laf); 
} catch (UnsupportedLookAndFeelException e) { 
    //Error handling code 
} 
İlgili konular