簡體   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