0

我很难思考如何让我的程序分配动作命令/动作来监听从堆栈创建的一组按钮。这些按钮是从文本文件上的行创建的。

public void getLaunchButtons(){


    File list = new File("resources/programs.txt");

    String line = null;

    try{

        FileReader fr = new FileReader(list);
        BufferedReader br = new BufferedReader(fr);

        buttons = new Stack<Button>();

        while((line = br.readLine()) != null){
        buttons.push(new Button(line));
        add(buttons.pop());

        }

        br.close();

    }
    catch(Exception ex){

    }
}

我怎样才能为创建的按钮分配一个动作侦听器?我的总体目标是创建按钮,当单击时启动与该按钮关联的程序。用户将能够添加程序标题(按钮标题)和要启动的程序的目录(按钮操作命令)

4

2 回答 2

0

试试这个

Button b = new Button(line);
b.addActionListener(listener);
add(b);

//In global
ActionListener listener = new ActionListener()
{
  public void actionPerformed(ActionEvent actionEvent) {
        JButton button = (JButton)actionEvent.getSource();
        String line = button.getText();
 }
};
于 2013-10-18T18:27:51.700 回答
0

非常基本的东西,获取对 Button 的引用,而不是尝试将其直接粘贴到堆栈中。

Button b = new Button(line);
b.addActionListener(referenceToActionListener);
buttons.push(b);
add(b);
于 2013-10-18T18:20:07.593 回答