Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaFX中返回一个节点时会得到什么?_Java_Javafx_Output - Fatal编程技术网

在JavaFX中返回一个节点时会得到什么?

在JavaFX中返回一个节点时会得到什么?,java,javafx,output,Java,Javafx,Output,我制作了一个ArrayList,并在其中添加了4个按钮,名称为button1、button2、button3和button4。 然后我写了一个函数,返回列表中的一个随机节点。 它向我返回一些奇怪的代码,但我只想要“button1”这样的名称,而不是Button@35cb2a47[styleClass=button]“。 返回函数的确切内容,以及如何从中获取节点的名称 谢谢大家,很抱歉我的拼凑风格不好.我对这个游戏还不熟悉 import javafx.application.Application

我制作了一个ArrayList,并在其中添加了4个按钮,名称为button1、button2、button3和button4。 然后我写了一个函数,返回列表中的一个随机节点。 它向我返回一些奇怪的代码,但我只想要“button1”这样的名称,而不是Button@35cb2a47[styleClass=button]“。 返回函数的确切内容,以及如何从中获取节点的名称

谢谢大家,很抱歉我的拼凑风格不好.我对这个游戏还不熟悉

import javafx.application.Application;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.stage.Stage;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;


public class Main extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        List<Node> list = new ArrayList<Node>();

        Button button1 = new Button();
        list.add(button1);
        Button button2 = new Button();
        list.add(button2);
        Button button3 = new Button();
        list.add(button3);
        Button button4 = new Button();
        list.add(button4);

        System.out.println("" + getRandomNode(list));

    }

    public Node getRandomNode(List<Node> list){
        int ls = list.size();
        Random random = new Random();
        int randInt = random.nextInt();
        return list.get(Math.abs(randInt%ls));
    }

    public static void main(String[] args) {
        launch(args);
    }
}
导入javafx.application.application;
导入javafx.scene.Node;
导入javafx.scene.control.Button;
导入javafx.stage.stage;
导入java.util.ArrayList;
导入java.util.List;
导入java.util.Random;
公共类主扩展应用程序{
@凌驾
public void start(Stage)引发异常{
列表=新的ArrayList();
Button button1=新按钮();
列表。添加(按钮1);
Button button2=新按钮();
列表。添加(按钮2);
Button button3=新按钮();
列表。添加(按钮3);
Button button4=新按钮();
列表。添加(按钮4);
System.out.println(“+getRandomNode(list));
}
公共节点getRandomNode(列表){
int ls=list.size();
随机=新随机();
int randInt=random.nextInt();
返回list.get(Math.abs(randInt%ls));
}
公共静态void main(字符串[]args){
发射(args);
}
}

此函数的输出如下所示=Button@6844c615[styleClass=按钮]“

按钮没有名称。
button1
button2
等是
start
方法中的局部变量,其中包含对这些按钮的引用,然后将这些引用放入列表中。它返回的是对按钮对象的引用。现在,您想对按钮对象做什么?谢谢太多了,现在我能得到我想要的。多亏了你,你解决了我的问题。