2012-10-02 18 views
14

Swing'de, HTML kullanarak bir JLabel'i stillemek çok kolaydı; etiket için metin olarak istediğiniz HTML'yi kullandınız ve uygun şekilde oluşturuldu.JavaFX HTML stili (veya eşdeğeri) etiketler

JavaFX'te bu mevcut değildir, ancak setStyle() yöntemini kullanarak belirli bir etiketin (veya genel olarak düğümün) stilini ayarlayabiliriz. Yukarıdaki gibi bir şey başarmak için en kolay yolu ne olurdu

JLabel label = new JLabel("<html>Part of this <b>text is b</b>old and part isn't.</html>"); 

:

Ancak bu yaklaşım kullanarak o örneğin belli bir tarzı olması için bir etiketin eşdeğer bölümünü nasıl ayarlanacağını belli değil ?

+0

dublicates gibi farklı tasarımlı metin düğümlerini birleştirmek için TextFlow kullanmayı deneyin ([Make a JavaFX Etiket veya Metin kalın bir metnin kısmı] http://stackoverflow.com/q/12341672/682495) ve [JavaFX TextArea öğesinde vurgulama dizeleri] (http://stackoverflow.com/q/12346009/682495) kenai.com adresindeki –

cevap

7

yapabilirsiniz

Muhtemelen
TextFlow textFlow = new TextFlow(); 

Text first=new Text("Part of this "); 
first.setStyle("-fx-font-weight: regular"); 

Text second=new Text("text is b"); 
second.setStyle("-fx-font-weight: bold"); 

Text third=new Text("old and part isn't."); 
third.setStyle("-fx-font-weight: regular"); 

textFlow.getChildren().addAll(first, second, third); 
+0

Evet, JavaFX iç modeline daha iyi uyabiliyordum, ancak içerik sağlayıcılar için korkunç. Sadece geliştiriciye bir konfigürasyon dosyasındaki zengin metin içeriğiyle çalışıyorum ve bu içeriği Java'da kullanmasını istiyorum. –

+0

Jason, bir çözüm geliştirmede size yardımcı olabilecek ya da olmayabilen "JavaFX Markdown" u kullanmaya çalışın. – jewelsea