Olá galera, estou começando a fazer parte do grupo hj! Estou com uma dúvida em java e gostaria de ajuda de vcs. É sobre associação de classes, Eu estou fazendo duas classes, uma com um frame com 4 checkBox e um botão e que ao clicar no botão, chama o método de outra classe e eu armazeno estes dados em um ArrayList… Gostaria que vcs avaliassem e me ajudassem, porque estou tendo o seguinte problema.
Faço a inclusão de dados, mas quando mando imprimir, o ArrayList, aparece vazio…é estranho, acho que estou instanciando o objeto da minha classe em algum lugar errado… Segue o código:
Classe Teste
package aula2308;
import gui1.;
import java.util.List;
import java.util.ArrayList;
import javax.swing.;
public class Teste {
List list=new ArrayList();
public Teste(){
}
public void incluir(){
String a;
a=JOptionPane.showInputDialog(null,"Digite o nome desejado","Caixa de entrada",JOptionPane.QUESTION_MESSAGE);
list.add(a);
}
public void remover(){
String s;
s=JOptionPane.showInputDialog(null,"Digite o nome a ser removido","Caixa de remoção",JOptionPane.WARNING_MESSAGE);
list.remove(s);
}
public void imprima(){
JOptionPane.showMessageDialog(null,list);
}
}
Classe Inter
package gui1;
import aula2308.;
import javax.swing.;
import java.awt.;
import java.awt.event.;
import java.util.ArrayList;
import java.util.List;
public class Inter extends JFrame implements ActionListener {
private JCheckBox check1,check2,check3, check4;
private JButton botaook;
private JPanel p1, p2,p3;
private JLabel label1,label2,label3,label4;
public Inter(){
Teste t=new Teste();
Container c=getContentPane();
setTitle("Menu principal -Exemplo de ArrayList");
setSize(700,700);
setLocation(300,300);
setResizable(false);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
p1=new JPanel(new FlowLayout(FlowLayout.CENTER));
label1= new JLabel("Menu");
p1.add(label1);
c.add(p1,BorderLayout.NORTH);
p2=new JPanel(new FlowLayout(FlowLayout.LEFT));
check1=new JCheckBox("Incluir");
check2=new JCheckBox("Excluir");
check3=new JCheckBox("Listar");
check4=new JCheckBox("Sair");
p2.add(check1);
check1.addActionListener(this);
p2.add(check2);
check2.addActionListener(this);
p2.add(check3);
check3.addActionListener(this);
p2.add(check4);
check4.addActionListener(this);
c.add(p2,BorderLayout.CENTER);
p3=new JPanel(new FlowLayout(FlowLayout.CENTER));
botaook=new JButton("OK");
p3.add(botaook);
botaook.addActionListener(this);
c.add(p3,BorderLayout.SOUTH);
pack();
}
public static void main (String args[]){
Inter n=new Inter();
n.setVisible(true);
}
public void actionPerformed(ActionEvent eve){
Teste t=new Teste();
Object source= eve.getSource();
if(check1.isSelected()==true){
check2.setSelected(false);
check3.setSelected(false);
check4.setSelected(false);
}
if(check2.isSelected()==true){
check3.setSelected(false);
check4.setSelected(false);
check1.setSelected(false);
}
if(check3.isSelected()==true){
check1.setSelected(false);
check2.setSelected(false);
check4.setSelected(false);
}
if(check4.isSelected()==true){
check2.setSelected(false);
check3.setSelected(false);
check1.setSelected(false);
}
if(source==botaook){
if(check1.isSelected()){
t.incluir();
}
else if(check2.isSelected()){
t.remover();
}
else if(check3.isSelected()){
t.imprima();
}
else if(check4.isSelected()){
System.exit(0);
}
}
}
}
Obrigado pela ajuda de vcs…Preciso entender melhor, se o problema é do JOptionPane.showMessage, ou do arrayList, ou da minha prórpia composição. 8O