Olá !
Gostaria da opinião do pessoal mais experiente de qual jeito mais adequado seria para montar um componente.
O componente que estou montando é para visualizacao de uma Nota Fiscal em Swing.
Logo, tenho uma classe NotaFiscal, mais ou menos como a do codigo abaixo:import java.sql.Timestamp;
public class NotaFiscal {
private int numeroDaNota;
private Timestamp dataDeEmissao;
private String naturezaDeOperacao;
private int cfop;
// ...
// get/set
}
A minha dúvida principal seria: vocês passariam o objeto NotaFiscal inteirinho para esse componente para exibir as informações ?
Ou criaria novamente todos os campos da class NotaFiscal nesse componente em questão, criando-se os respectivos get's e set's ?
Ou tanto faz ? Como vocês fariam ?
Puxa, não só esses, mas se tiver algum outro jeito também, aguardo sugestôes/conselhos.
Vou deixar um pequena codificao de exemplo de cada uma das opções, só para vocês terem uma idéia melhor do que estou falando ok.
Modelo1: passe se o objeto NotaFiscal para o componente.import java.awt.Graphics;
import javax.swing.JComponent;
public class NotaFiscalComponenteModelo1 extends JComponent {
private static final long serialVersionUID = 1L;
private NotaFiscal notaFiscal;
public NotaFiscalComponenteModelo1(NotaFiscal notaFiscal) {
this.notaFiscal = notaFiscal;
}
@Override
public void paint(Graphics g) {
super.paint(g);
// obtem as informacoes da variavel notaFiscal
// para exibir as informações.
}
}
import java.awt.Graphics;
import java.sql.Timestamp;
import javax.swing.JComponent;
public class NotaFiscalComponenteModelo1 extends JComponent {
private static final long serialVersionUID = 1L;
private int numeroDaNota;
private Timestamp dataDeEmissao;
private String naturezaDeOperacao;
private int cfop;
public int getNumeroDaNota() {
return numeroDaNota;
}
public void setNumeroDaNota(int numeroDaNota) {
this.numeroDaNota = numeroDaNota;
}
public Timestamp getDataDeEmissao() {
return dataDeEmissao;
}
public void setDataDeEmissao(Timestamp dataDeEmissao) {
this.dataDeEmissao = dataDeEmissao;
}
// restante dos get's/set's
@Override
public void paint(Graphics g) {
super.paint(g);
// utiliza as informacoes desta classe
// para exibir as informações.
}
}
Obrigado e aguardo sugestoes !