Instanciar getes

galera por q não consigo criar um objeto da classe Main, para instanciar os getres e settes
dos componentes da tela?

// classe Main...
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

public class Main extends JFrame implements ActionListener {
	
	private static final long serialVersionUID = 1L;
	
	JButton btn = new JButton("Confirmar!");
	JLabel lbl = new JLabel();
	JTextField txt = new JTextField();
	
	public void janela() {
		componentes();
		setTitle("Banco");
		setSize(350, 500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setVisible(true);
	}
	
	public void componentes() {
		// Botão
		setLayout(null);
		btn.setBounds(120, 350, 100, 60);
		btn.setFocusable(false); // retira o contorno do texto!
		btn.addActionListener(this);
		getContentPane().add(btn);

//// classe Banco

import java.util.Scanner;

public class Banco {

	float banc = 0.0f;
	float dep = 0.0f;

	Scanner ler = new Scanner(System.in);
	String resp;
	boolean repetir = true;
	String nome;

	Main pr = new Main();

	public void açao() {
		// Nao mostra os gettes do botao, texto etc..
		pr.

		System.out.println("Hola, como posso te chamar?");
		ler = new Scanner(System.in);
		nome = ler.nextLine();

		System.out.println("Hola "+nome+", seja bem vindo(a)!");
		System.out.println("Você posue no Banco o Valor de "+banc+" Reis!");
		System.out.println("Deseja fazer algum deposito?");
		resp = ler.nextLine();

Posta a classe Main completa.

De qualquer forma, é estranho vc querer acessar propriedades da tela (botão, textfield, etc) de dentro da classe Banco.

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

public class Main extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;

	JButton btn = new JButton("Confirmar!");
	JLabel lbl = new JLabel();
	JTextField txt = new JTextField();

	public void janela() {
		componentes();
		setTitle("Banco");
		setSize(350, 500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setVisible(true);
	}

	public void componentes() {
		// Botão
		setLayout(null);
		btn.setBounds(120, 350, 100, 60);
		btn.setFocusable(false); // retira o contorno do texto!
		btn.addActionListener(this);
		getContentPane().add(btn);
		// texto
		setLayout(null);
		lbl.setBounds(10, 80, 300, 30);
		lbl.setText("ok. bem vindo");
		lbl.setHorizontalAlignment(SwingConstants.CENTER); // centraliza o texto
		getContentPane().add(lbl);
		// Entradade dados
		setLayout(null);
		txt.setBounds(120, 270, 100, 30);
		txt.setHorizontalAlignment(SwingConstants.CENTER); // centraliza o texto
		txt.setFocusable(true); // retira o contorno do texto!
		getContentPane().add(txt);

	}

	public static void main(String[] args) {

		Main m = new Main();
		m.janela();

	}

	@Override
	public void actionPerformed(ActionEvent e) {
	//	JOptionPane.showMessageDialog(null, "Informaçao Incorreta!", "ERRO!", JOptionPane.ERROR_MESSAGE);

}



public JButton getBtn() {
	return btn;
}

public void setBtn(JButton btn) {
	this.btn = btn;
}

public JLabel getLbl() {
	return lbl;
}

public void setLbl(JLabel lbl) {
	this.lbl = lbl;
}

public JTextField getTxt() {
	return txt;
}

public void setTxt(JTextField txt) {
	this.txt = txt;
}

}

import java.util.Scanner;

public class Banco {

float banc = 0.0f;
float dep = 0.0f;

Scanner ler = new Scanner(System.in);
String resp;
boolean repetir = true;
String nome;

Main pr = new Main();

public void açao() {
	// Nao mostra os gettes do botao, texto etc..
	pr.

	System.out.println("Hola, como posso te chamar?");
	ler = new Scanner(System.in);
	nome = ler.nextLine();
	
	System.out.println("Hola "+nome+", seja bem vindo(a)!");
	System.out.println("Você posue no Banco o Valor de "+banc+" Reis!");
	System.out.println("Deseja fazer algum deposito?");
	resp = ler.nextLine();

	do {

		if (resp.equals("sim")) {
			
			deposito();

			System.out.println("Ainda deseja depositar algum valor?");
			ler = new Scanner(System.in);
			resp = ler.nextLine();
			
		}
		else if(resp.equals("nao")){
			System.out.println("OK, então ate a proxima "+nome+"!");
			
			repetir =false;
		}
		else {
			
			System.out.println("Resposta errada!");
			System.out.println("Responda sim ou não!");
			System.out.println("Ainda deseja depositar no banco?");
			ler = new Scanner(System.in);
			resp = ler.nextLine();
		}
			

	} while (repetir == true);

}

public void deposito() {

	System.out.println("Qual valor?");

	dep = ler.nextFloat();
	banc += dep;

	System.out.println("Você agora posue no Banco\n o Valor de "+banc+" Reis!");

}

}

e q meu código ta todo la na classe Banco. vc acha melhor de outra forma?

Cara, estranho, do jeito que está o código, é para enxergar os métodos getters msm. Até copiei seu código aqui e consegui de boas.


Sobre a forma, recomendo tu dá uma lida sobre o padrão MVC.

  • M (model): Camada que irá manter o modelo negocial no seu sistema
  • V (view): Camada que o usuário irá usar para interagir com seu sistema (ex.: as telas)
  • C (controller): Camada que irá manter a comunicação entre a view (V) e o model (M). No seu exemplo, essa camada iria servir para pegar os dados dos elementos da tela (JButton, JTextfield, etc) e transformar num objeto de negócio (ex.: Banco, Deposito, etc.), e invocar alguma classe do model para executar alguma lógica (ex.: EfetuarDepositoService)

a obrigadão pela ajuda meus cursos não são presenciais e apesar do conteúdo bom e muito cheio de buracos, então eu fiquei fraco em arrumar os elementos esse modo mesmo MVC nem sabia q tinha. além do mais vou ter q mudar muita coisa aqui nesse código por q inicialmente fiz so para saída no console mas agora q criei uma frame tenho que mudar muita coisa.

Usar um padrão tipo o MVC facilita até para fazer esse tipo de mudança (de console para algo visual, por exemplo). Sem falar que eh algo bastante usado (assim como outros padrões de desenvolvimento que há).

sim, vou focar mais nisso pesquisar material.