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