Como abrir o console com informações cadastradas via interface gráfica

Olá galera.

Estou desenvolvendo uma aplicação e não consegui encontrar uma solução para isto em lugar nenhum… Vamos lá:

Tenho uma interface gráfica com um formulário, no qual pego os dados e jogo em uma arraylist. Porém, preciso que haja um botão que, ao ser selecionado, abra um console com os dados cadastrados, varrendo a arraylist e mostrando os dados usando System.out.print mesmo, bem simples. O problema é: como abrir o console e jogar o resultado lá?

Espero que não tenha ficado muito confuso. Qualquer ajuda será bem vinda :slight_smile:

Por que precisa ser no Console? Não pode ser num componente Swing, como o JTextArea?

Abraço.

Então, eu preciso exibir as informações usando System.out.println(). usando o JTextArea eu consigo isso?
É muito complicado fazer para abrir no console?

Se você tem um formulário, provavelmente tem um textField né?

Você pode exibir as informações assim:

Mas você disse que ia varrer o arrayList para obter as informações, então o tipo parametrizado provavelmente é de uma classe sua. Sobrescreva o método toString() da sua classe e ai é só fazer System.out.println(arrayList);

Pode-se colocar as informações em um TextArea como o usuario TerraSkilll disse, se for Swing basta fazer isso:

JTextArea textArea = new JTextArea(); textArea.setText(arrayList);

Se for JavaFX:

TextArea textArea = new TextArea(); textArea.setText(arrayList);

SWING
Quando o botão for selecionado chamará o método addActionListener(), então ficará assim:

botao.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //Aqui vai as linhas de códigos que eu passei acima } });
JAVAFX
Quando o botão for selecionado chamará o método setOnAction(), entao ficará assim:

[code]btn1.setOnAction(new EventHandler()
{
@Override
public void handle(ActionEvent event)
{

		}
	});[/code]

Se você sabe expressões lambdas, da para usa-las também, ai fica assim:
SWING

botao.addActionListener((e) -> { //Aqui vai as linhas de códigos que eu passei acima});

JavaFX

botao.setOnAction((e) -> { //Aqui vai as linhas de códigos que eu passei acima});

obs: Eu usei a expressão “tipo parametrizado” que é equivalente a “tipado” ou “ArrayList com Generics”, eu não sei se você sabe, mas se não sabe, vou tentar te explicar aqui. Usar o Generics em um ArrayList é nada mais ou nada menos que, você limitar o que vai em seu ArrayList, usando um tipo de dado que não seja primitivo, dentre o sinal de menor e maior <> (esse sinal também é conhecida como notação diamond).

Exemplo 1: List<String> lista = new ArrayList<String>();
No exemplo acima eu disse ao compilador que a minha lista só receberá Strings, caso eu queria adicionar um dado do tipo int ou qualquer coisa que não seja String, dará erro, pois a lista foi restringida a receber apenas Strings

Exemplo 2:

Suponhamos que eu tenho uma classe Mamiferos, esse ArrayList só receberá objetos do tipo Mamiferos ou de uma outra classe que herde de Mamiferos, Se eu tenho um objeto do tipo Pessoa, e Pessoa extende de Mamiferos, então poderei colocar esse objeto do tipo Pessoa no meu ArrayList, pois uma Pessoa também é um Mamifero

Olá TalonNoxus, muito obrigada por sua resposta, de verdade!
Testarei aqui.

Tenha um ótimo dia ^^