Como adicionar itens no ArrayList ao clicar em um botão?

Pessoal, na classe A eu tenho um JFrame com vários JTextField e um botão. Quando o botão “Verificar Palavra” recebe um clique, todas as letras digitadas nos JTextField são adicionadas no ArrayList da classe C. O problema é que não consigo atualizar a classe A para que as letras sejam captadas. Alguém sabe o que fazer?

class A extends JFrame{
        private JButton botao;

        public A(){
                this.botao = new JButton("Verificar Palavra");
                this.add(campo());
        }

        private JPanel campo(){
		JPanel painel = new JPanel();
		painel.setLayout(new GridLayout(10, 10));
		for(int i = 0;i < 300;i++){
			JTextField txt = new JTextField();
			txt.setHorizontalAlignment(JTextField.CENTER);
			txt.setDocument(new Caractere(1));
			try{
				this.botao.addActionListener(new B(txt.getText().charAt(0)));
			}catch(Exception e){
				
			}
			painel.add(txt);
		}
		painel.setBackground(Color.CYAN);
		return painel;
	}
}

class B implements ActionListener{
        private C c;
	char letra;
	
	public B(char letra){
		this.letra = letra;
		this.c = new C();
	}
	
	@Override
	public void actionPerformed(ActionEvent e){
		this.c.adicionarLetra(this.letra);
		for(int i = 0;i < this.c.getLetras().size();i++){
			System.out.println(this.pegarLetras.getLetras().get(i));
		}
	}
}

class C{
        private List<Character> letras;
	
	public C(){
		this.letras = new ArrayList<Character>();
	}
	
	public void adicionarLetra(Character letra){
		this.letras.add(letra);
	}
	
	public List<Character> getLetras(){
		return this.letras;
	}
}

vc tem que pensar em como seus objetos se comunicam.

se vc quer adicionar items (no plural) a partir de um arraylist ( no singular ) significa que em algum lugar vc tem que ter uma referencia apenas ao objeto que lida com o arraylist.

eu nao consigo entender o que é A, B e C. para mim isso nao tem semantica.

por exemplo pq B armazena uma letra e tem uma referencia a C, que guarda um arraylist de letras?

eu imagino que a interação dos seus objetos esta confusa. tire esse atributo ‘letra’ de B e crie apenas uma instancia em A e reuse essa variavel que é um caminho pra fazer o que vc quer.

mas por favor escolha nomes decentes pras coisas. e teus loops parecem sem sentido, sem entender o problema fica realmente dificil