JOptionPane, arrayList o associação com problema?

Olá galera, estou começando a fazer parte do grupo hj! :grin: 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

O problema é que você não está iterando a lista. Desse modo irá aparecer o toString to objeto List.

me desculpe, mas eu não entendi, vc poderia me dar um exemplo, pelo que eu sei…eu vou adicionando coisas automaticamente no arrayList…aí depois eu posso imprimi-lo…

Obrigado amigo

Você vai adicionando através do codigo

lista.add(object)

Mas para você mostrar sua lista inteira, você tem que interá-la

Iterator it = lista.iterator(); while(it.hasNext()){ //Enquanto houver registro ele itera String obj = (String)it.next(); JOptionPane.showMessageDialog(null,obj); }