this.getContentPane().setLayout(null);

O que essa linha significa no meu código?
Sei que “está recebendo um content Pane” e declarando com o set, um valor null no layout… mas o que isso significa?

Significa que está pegando o ContentPane do atributo (this) e setando o Layout como null, ou seja, retirando um layout que possa estar lá.

1 curtida

Nesse código não vejo um "JPanel - como estudei que deveria ter para que você coloque os componentes, por que funciona sem JPanel e como faço para coloca-lo?

package telas;
import javax.swing.*;

public class CalculadoraImposto extends JFrame{
	//Declarando os componentes
	public JLabel lblTituloPrograma;
	public JLabel lblValorTotalNota;
	public JLabel lblIrrf;
	public JLabel lblPis;
	public JLabel lblCofins;
	public JLabel lblCsll;
	public JLabel lbltotal;
	public JButton btnCalcular;

	public JTextField txtIrff;
	public JTextField txtPis;
	public JTextField txtCofins;
	public JTextField txtCsll;
	
	
//construtor 
	public CalculadoraImposto(){
		this.setResizable(false);
		this.setTitle("Calculadora");
		this.setBounds(50,50,300,400);
		this.getContentPane().setLayout(null);
		
		//label - Titulo do Programa
		lblTituloPrograma = new JLabel();
		lblTituloPrograma.setText("Calculadora de Impostos");
		lblTituloPrograma.setBounds(80,2,150,50);
		this.add(lblTituloPrograma);
		
		
		//label - valor total da nota
		lblValorTotalNota = new JLabel();
		lblValorTotalNota.setText("Valor total da Nota:");
		lblValorTotalNota.setBounds(10,40,108,50);
		this.add(lblValorTotalNota);
		
		//textfield - irff
		txtIrff = new JTextField();
		txtIrff.setBounds(130,57,70,20);
		this.add(txtIrff);
		
		
		
		
		
		//botao calcular
		btnCalcular = new JButton();
		btnCalcular.setText("Calcular");
		btnCalcular.setBounds(100, 100, 90, 25);
		this.add(btnCalcular);
	
		
		
		
	}
	
	
	
	
	
	public static void main(String[] args) {
		CalculadoraImposto exemplo = new CalculadoraImposto();
        exemplo.setVisible(true);
        
   
	}
}

ContentPane e JPanel são coisas diferentes, sugiro que leia sobre isso.

Tranquilo chefe:
O contentPane é o painel principal da janela já o Jpanel é uma painel genérico quem pode ser adicionado ao painel principal (contenPane) quando você precisar usar 2 Layouts no mesmo frame dentre outras coisas. eu acho que é isso =D