I need my ArrayList data structure to be visible in more than one method of my Products class.
I'm working as follows:
package estoque;
import java.awt.Component;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import java.util.ArrayList;
public class produtos {
public static void cadastro() {
ArrayList<String> Produto = new ArrayList<>();
JTextField field1 = new JTextField();
JTextField field2 = new JTextField();
JTextField field3 = new JTextField();
Object[] message = {
"Código:", field1,
"Descrição:", field2,
"Quantidade:", field3};
Component parent = null;
int option = JOptionPane.showConfirmDialog(parent, message, "Cadastro de Produtos", JOptionPane.OK_CANCEL_OPTION);
if (option == JOptionPane.OK_OPTION) {
String codigo = field1.getText();
String descricao = field2.getText();
String quantidade = field3.getText();
if (codigo.isEmpty()) {
JOptionPane.showMessageDialog(null, "Por favor, preencha o campo Código!");
cadastro();
} else if (descricao.isEmpty()) {
JOptionPane.showMessageDialog(null, "Por favor, preencha o campo Descrição!");
cadastro();
} else if (quantidade.isEmpty()) {
JOptionPane.showMessageDialog(null, "Por favor, preencha o campo Quantidade!");
cadastro();
} else {
Produto.add(codigo + ' ' + descricao + ' ' + quantidade);
JOptionPane.showMessageDialog(null, "Produto cadastrado com sucesso!");
System.out.println(Produto);
Estoque.menu();
}
}
}
public static void listar() {
JOptionPane.showMessageDialog(null, " Código - Descrição - Produto\n", "Lista de Produtos", 1);
}
}
From the menu option I access the Register and register a product that will be stored in ArrayList<String> Produto = new ArrayList<>();
Then I return to another class called Menu and select the List option, which accesses the list () method;
In this method the ArrayList is not global, so I can not access it, how can I make it global to read in this method?