我是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天..请帮助。
答案 0 :(得分:0)
它要么
button.setOnAction(this);
(仅允许以这种方式添加单个事件处理程序)
或
button.addEventHandler(ActionEvent.ACTION, this);
// event type ^^^^^^ | ^^^ handler
注意:如果您收到此错误,可能值得检查the JavaDoc,如果该成员甚至存在。