如何在JavaFX中更改ListView中的字体大小?

时间:2010-06-25 09:59:04

标签: listview javafx

我尝试了这个建议http://forums.sun.com/thread.jspa?threadID=5421037,但找不到风格。

还有其他方法吗?

非常感谢, cancelledout

2 个答案:

答案 0 :(得分:8)

这取决于JavaFX的版本,我认为它大约是1.3 默认情况下,ListView会显示应用于toString()变量中存储的对象的items结果。
但是,您可以定义一个cellFactory函数,该ListCell函数会生成一个Node来获取这些对象,并在Text中显示您放入的内容,例如Label或{{ 1}},或更复杂的东西。所以,在那里,您可以按照常规方式格式化文本。

现在,如果你不想达到那个级别的细节,只需使用CSS:

.list-cell 
{
  -fx-font: 18pt "Arial";
}

答案 1 :(得分:0)

另一种解决方案,直接方法:

ListView listView=new ListView();
        if(!listView.getItems().isEmpty())
        {
            VirtualFlow ch=(VirtualFlow) listView.getChildrenUnmodifiable().get(0);
            Font anyfont=new Font("Tahoma",16);
            for (int i = 0; i < ch.getCellCount(); i++)
            {
                Cell cell= ch.getCell(i);
                cell.setFont(anyfont);
            }
        }