javafx 默认css,JavaFX不加载css,因为它在fxml中做的事

好吧,所以这个特定问题的问题是TableColumn的性质。看起来TableColumn没有任何与.css的真实绑定,并且不止如此,即使你通过它的css ID访问它,它的属性-fx-pref-width似乎也不存在。这就是为什么你没有看到任何改变。此外,由于目前javafx中tableView潜在的bug性质,你必须设置宽度前缀,否则事情会变得有点奇怪。看到 This topic为一些奇怪的例子。

现在,解决方案是创建一个fxml控制器类并以编程方式设置宽度的值。我意识到这可能不完全适合您的解决方案,但它似乎工作得很好。例如:

我FXML.fxml:

我的主类是相同的,现在对于我的控制器:

fxmlController.java:

import java.net.URL;

import java.util.ResourceBundle;

import javafx.fxml.FXML;

import javafx.fxml.Initializable;

import javafx.scene.control.TableColumn;

/**

*

* @author William

*/

public class fxmlController implements Initializable{

@FXML TableColumn myTableColumn;

@Override

public void initialize(URL url, ResourceBundle rb) {

myTableColumn.setPrefWidth(200);

}

}

赦免怪异 'filechooserexample' 包在FXML控制器标签setter字段,我正在重新使用一个我已经设置好的大部分空白的项目和一切。因此,设置控制器的代码是:`fx:controller =“packageName.NameOfJavaClassNoExtension”'

使用该代码我能够成功设置宽度。现在,您可以使用css来设置表格列的样式,您不能使用-fx-pref-width,因为我相当肯定该属性不存在。如果您想要猜测允许的内容,请参阅: caspian.css leview-resize-after-been-moved这是所有javafx的默认.css样式表。除此之外,您可能会发现一个或两个属性,但不是您随时可以看到的吨和吨。

同样值得注意的是,要正确访问表列,.table-column将不起作用,我不这么认为。您可能需要添加一个风格getStyleClass().add("myCustomStyle");

,你可以接着用.myCustomStyle

好运访问!我希望有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值