繁体   English   中英

使用来自另一个 JavaFX 类 Java 的方法

[英]Use a method from another JavaFX class Java

所以如果你熟悉JavaFX,可以使用以下Node方法修改Buttons对象

myButton.setTranslateX(10);
myButton.setTranslateY(-10);

这些方法在里面起作用

public void start(Stage primaryStage) throws Exception {}

据我了解, startApplication中运行 JavaFX 目的的一种方法。 由于所有myButton对象都具有相同的结构,因此我尝试在Main.java文件中创建以下方法

public void createMyButton(double X, double Y, String label, String image_path) throws Exception {
    this.setTranslateX(X);
    this.setTranslateY(Y);
    this.setText(label);
    //TO DO this.setButtonImage(src=image_path);
 }

但是我知道createMyButton中的方法来自另一个类(我认为来自Node )。 而且(当然)我得到了错误

Cannot resolve method 'setTranslateX' in 'Main' s

因为编译器正在我的程序中查看这些方法,而不是在 JavaFX SDK 中。 如何在自己的方法中调用其他类方法? 我试过

public void createMyButton(bla bla) throws Exception extends Node
public void createMyButton(bla bla) throws Exception extends Application

但我认为我完全在钻石之外。 我还尝试创建自己的classclass继承其他class方法,但这有点超出我目前的知识范围,我想知道是否有更简单/更直接的方法来做到这一点

我不是 JavaFX 人,但我认为问题在于您正在调用this.setTranslateX(X); this不是按钮的方法中(我认为它可能是一个 Main 对象,需要查看更多代码才能确定)。

尝试这个:

public Button createMyButton(double X, double Y, String label, String image_path) throws Exception {
    Button button = new Button(...) // not sure how you're initialising your buttons normally
    button.setTranslateX(X);
    button.setTranslateY(Y);
    button.setText(label);
    button.setButtonImage(src=image_path);
    return button
}

然后,当您想在其他地方创建按钮时,您可以调用该方法:

Button button = createMyButton(10, 20, "My Button", "images/button.png")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM