[英]Use a method from another JavaFX class Java
所以如果你熟悉JavaFX,可以使用以下Node
方法修改Buttons
对象
myButton.setTranslateX(10);
myButton.setTranslateY(-10);
这些方法在里面起作用
public void start(Stage primaryStage) throws Exception {}
据我了解, start
是Application
中运行 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
但我认为我完全在钻石之外。 我还尝试创建自己的class
, class
继承其他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.