删除卡上的按钮单击JavaFX - java

我正在制作看板,在其内部有一列,使用标题和下面的卡片列表之间的网格窗格将其划分。我正在使用场景构建器来构建它。

所以层次是

Anchor Pane(column) -> Gridpane(Seperate header and cards) -> Vbox(where I place my list of cards) -> AnchorPane(cards) -> Button(each card has a button)

当我按下卡上的按钮时,我希望它删除我单击的卡。

我做了以下

@FXML
public void delete() {
    Parent parent = button.getParent();
    col1.getChildren().remove(parent);  //col1 is the column
}

但是,当我按该按钮时,什么也没有发生,该卡不会被删除,我也不知道为什么。如果有人可以帮助我,那就太好了。

参考方案

尝试如下更改代码:

@FXML
public void delete() {
    Parent card = button.getParent();
    ((VBox) card.getParent()).getChildren().remove(card);
}

JavaFX FXML无效类型 - java

我正在Linux中用Eclipse编写JavaFX应用程序,并使用SceneBuilder编写了某些FXML代码。当我移至Windows时,如果我尝试执行代码,它将运行良好,但是,如果我尝试修改fxml文件,它将开始给我一个错误(与修改无关)。我也尝试使用NetBeans,但没有任何改变。错误是:javafx.fxml.LoadException: Ligh…

创建具有不同样式的大量文本-JavaFX FXML - java

在JavaFx应用程序的fxml类中,我想使用最少的组件(而不是每行添加多个标签)来添加大量文本。我还想在同一组件中创建各种样式的文本。我应该使用哪个组件(例如TextArea),以及如何在其中创建多个样式(使用CSS)。 参考方案 使用TextFlow并向其中添加Text。您可以在各个Text组件上使用CSS为它们设置不同的样式。完整的例子:import …

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…

Java:BigInteger,如何通过OutputStream编写它 - java

我想将BigInteger写入文件。做这个的最好方式是什么。当然,我想从输入流中读取(使用程序,而不是人工)。我必须使用ObjectOutputStream还是有更好的方法?目的是使用尽可能少的字节。谢谢马丁 参考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是将对象序列化为八位字节序列的一种通用方法。但…