Bom, estou com um problema, que é criar um botão para atualizar dados de um array,segue o código.
O botão pesquisar funciona mas o atualizar não,é um pequeno trabalho da faculdade.
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import static java.lang.String.valueOf;
import java.util.ArrayList;
import static java.util.Collections.list;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Cidade extends JFrame {
static ArrayList<String> cidades = new ArrayList<>();
Listener listener = new Listener();
JLabel labelid = new JLabel("id");
JTextField textid = new JTextField();
JTextField textnome = new JTextField();
JLabel labelnome = new JLabel("Nome da Cidade");
JButton botaopesquisar = new JButton("Pesquisar");
JButton botaoatualizar = new JButton("Atualizar");
public Cidade() {
GridLayout layout = new GridLayout(3, 2);
this.setLayout(layout);
this.add(labelid);
this.add(textid);
this.add(labelnome);
this.add(textnome);
this.add(botaopesquisar);
this.add(botaoatualizar);
botaopesquisar.addActionListener(listener);
botaoatualizar.addActionListener(listener);
this.pack();
this.setVisible(true);
}
public static void main(String[] args) {
new Cidade();
cidades.add("Lisboa");
cidades.add("Santarem");
cidades.add("Tomar");
cidades.add("Coimbra");
cidades.add("Porto");
cidades.add("Funchal");
}
private class Listener implements ActionListener {
public void actionPerformed(ActionEvent e) {
int id = Integer.parseInt(textid.getText())- 1;
if (e.getSource() == botaopesquisar) {
for (int i = 0; i < cidades.size();i++) {
if(i == id){
textnome.setText(cidades.get(i));
}
}
}
if (e.getSource() == botaoatualizar) {
cidades.set(id, valueOf(textnome));
}
}
}
}