找不到符号addActionListener()

时间:2018-01-20 09:00:16

标签: javafx

我是javafx的初学者。我有一个函数button_loop(),它应该动态生成指定数量的按钮,并在生成每个按钮时添加一个动作监听器。然后将按钮存储在ArrayList中然后将ArrayList添加到HBox。按钮生成正常。但是,当我尝试添加一个动作监听器时:

button.addActionListener(this)

尽管实现了actionListener接口,但我收到以下错误:

        error: cannot find symbol
       button.addActionListener(this);
     symbol:   method addActionListener(dummy_td)
     location: variable button of type Button

该功能的代码是:

void button_loop() throws SQLException, ClassNotFoundException {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection c = DriverManager.getConnection(connection, user_name, password);
    PreparedStatement st = c.prepareStatement("select service_name from services");
    ResultSet rs = st.executeQuery();
    while (rs.next()) { 
        String service = rs.getString("service_name"); 
        Button button = new Button(service);
       button.addActionListener(this);
             buttonlist.add(i,button); 
    }
     hboxx.getChildren().addAll(buttonlist);
}

我一直试图解决这个问题2天..请帮助。

1 个答案:

答案 0 :(得分:0)

它要么

button.setOnAction(this);

(仅允许以这种方式添加单个事件处理程序)

button.addEventHandler(ActionEvent.ACTION, this);
//              event type    ^^^^^^     |  ^^^ handler

注意:如果您收到此错误,可能值得检查the JavaDoc,如果该成员甚至存在。