public class LancamentoTipoCobranca extends javax.swing.JFrame {
ArrayList<JCheckBox> listaCheckBox = new ArrayList<JCheckBox>();
ArrayList<JTextField> listaValores = new ArrayList<JTextField>();
ArrayList<Cobranca> listaTipoCobranca = new ArrayList<Cobranca>();
public static ArrayList<CobrancaConta> lancamento = new ArrayList<CobrancaConta>();
public static boolean lancado = false;
/** Creates new form LancamentoTipoCobranca */
public LancamentoTipoCobranca() {
ImageIcon icone = new ImageIcon("icone.GIF");
setIconImage(icone.getImage());
initComponents();
carregaComboBox();
setLocationRelativeTo(null);
setVisible(true);
criaCampos();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jSeparator5 = new javax.swing.JSeparator();
painelPrincipal = new javax.swing.JPanel();
lbValor = new javax.swing.JLabel();
cbCobranca = new javax.swing.JComboBox();
tfValor = new javax.swing.JTextField();
btLancar = new javax.swing.JButton();
lbTipoCobranca1 = new javax.swing.JLabel();
lbValor1 = new javax.swing.JLabel();
lbValor2 = new javax.swing.JLabel();
lbTipoCobranca2 = new javax.swing.JLabel();
rolagem1 = new javax.swing.JScrollPane();
cobranca1 = new javax.swing.JPanel();
rolagem2 = new javax.swing.JScrollPane();
valores1 = new javax.swing.JPanel();
rolagem3 = new javax.swing.JScrollPane();
cobranca2 = new javax.swing.JPanel();
rolagem4 = new javax.swing.JScrollPane();
valores2 = new javax.swing.JPanel();
chCobranca = new javax.swing.JCheckBox();
lbTitulo = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Lançamento de Tipos de Cobrança");
setMinimumSize(new java.awt.Dimension(471, 198));
setResizable(false);
painelPrincipal.setBackground(new java.awt.Color(0, 153, 153));
painelPrincipal.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Lançamento de Cobranças", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(255, 255, 255))); // NOI18N
painelPrincipal.setLayout(null);
lbValor.setFont(new java.awt.Font("Tahoma", 1, 11));
lbValor.setText("Valor:");
painelPrincipal.add(lbValor);
lbValor.setBounds(470, 275, 32, 14);
AutoCompletion.enable(cbCobranca);
cbCobranca.setFont(new java.awt.Font("Tahoma", 0, 9));
painelPrincipal.add(cbCobranca);
cbCobranca.setBounds(130, 275, 330, 17);
tfValor.setText("0.00");
painelPrincipal.add(tfValor);
tfValor.setBounds(510, 270, 60, 20);
btLancar.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
btLancar.setMnemonic('l');
btLancar.setText("Lançar");
btLancar.setSelected(true);
btLancar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btLancarActionPerformed(evt);
}
});
painelPrincipal.add(btLancar);
btLancar.setBounds(620, 290, 80, 23);
lbTipoCobranca1.setFont(new java.awt.Font("Tahoma", 1, 11));
lbTipoCobranca1.setText("Selecione o tipo de cobrança");
painelPrincipal.add(lbTipoCobranca1);
lbTipoCobranca1.setBounds(420, 20, 170, 20);
lbValor1.setFont(new java.awt.Font("Tahoma", 1, 11));
lbValor1.setText("Valor");
painelPrincipal.add(lbValor1);
lbValor1.setBounds(730, 20, 30, 20);
lbValor2.setFont(new java.awt.Font("Tahoma", 1, 11));
lbValor2.setText("Valor");
painelPrincipal.add(lbValor2);
lbValor2.setBounds(340, 20, 30, 20);
lbTipoCobranca2.setFont(new java.awt.Font("Tahoma", 1, 11));
lbTipoCobranca2.setText("Selecione a cobrança");
painelPrincipal.add(lbTipoCobranca2);
lbTipoCobranca2.setBounds(20, 20, 130, 20);
rolagem1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
javax.swing.GroupLayout cobranca1Layout = new javax.swing.GroupLayout(cobranca1);
cobranca1.setLayout(cobranca1Layout);
cobranca1Layout.setHorizontalGroup(
cobranca1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 298, Short.MAX_VALUE)
);
cobranca1Layout.setVerticalGroup(
cobranca1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 218, Short.MAX_VALUE)
);
rolagem1.setViewportView(cobranca1);
painelPrincipal.add(rolagem1);
rolagem1.setBounds(20, 40, 300, 220);
rolagem2.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
rolagem2.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
javax.swing.GroupLayout valores1Layout = new javax.swing.GroupLayout(valores1);
valores1.setLayout(valores1Layout);
valores1Layout.setHorizontalGroup(
valores1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 111, Short.MAX_VALUE)
);
valores1Layout.setVerticalGroup(
valores1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 218, Short.MAX_VALUE)
);
rolagem2.setViewportView(valores1);
painelPrincipal.add(rolagem2);
rolagem2.setBounds(330, 40, 70, 210);
rolagem3.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
rolagem3.setMinimumSize(new java.awt.Dimension(300, 220));
rolagem3.setPreferredSize(new java.awt.Dimension(300, 220));
cobranca2.setMinimumSize(new java.awt.Dimension(300, 220));
javax.swing.GroupLayout cobranca2Layout = new javax.swing.GroupLayout(cobranca2);
cobranca2.setLayout(cobranca2Layout);
cobranca2Layout.setHorizontalGroup(
cobranca2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 298, Short.MAX_VALUE)
);
cobranca2Layout.setVerticalGroup(
cobranca2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 218, Short.MAX_VALUE)
);
rolagem3.setViewportView(cobranca2);
painelPrincipal.add(rolagem3);
rolagem3.setBounds(410, 40, 300, 220);
rolagem4.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
rolagem4.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
javax.swing.GroupLayout valores2Layout = new javax.swing.GroupLayout(valores2);
valores2.setLayout(valores2Layout);
valores2Layout.setHorizontalGroup(
valores2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 111, Short.MAX_VALUE)
);
valores2Layout.setVerticalGroup(
valores2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 218, Short.MAX_VALUE)
);
rolagem4.setViewportView(valores2);
painelPrincipal.add(rolagem4);
rolagem4.setBounds(720, 40, 70, 210);
chCobranca.setBackground(new java.awt.Color(0, 153, 153));
chCobranca.setFont(new java.awt.Font("Tahoma", 1, 11));
chCobranca.setText("Cobranca");
painelPrincipal.add(chCobranca);
chCobranca.setBounds(20, 270, 110, 23);
lbTitulo.setFont(new java.awt.Font("Tahoma", 1, 18));
lbTitulo.setForeground(new java.awt.Color(102, 204, 255));
lbTitulo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lbTitulo.setText("LANÇAMENTO DE TIPO DE COBRANÇA");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(painelPrincipal, javax.swing.GroupLayout.PREFERRED_SIZE, 810, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbTitulo, javax.swing.GroupLayout.DEFAULT_SIZE, 810, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(lbTitulo, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(painelPrincipal, javax.swing.GroupLayout.DEFAULT_SIZE, 322, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void criaCampos() {
CobrancaDAO cobDao = new CobrancaDAO();
try {
ArrayList<Cobranca> listaCobranca = cobDao.listarTipoCobranca();
cobranca1.setLayout(new java.awt.GridLayout(8,1));
valores1.setLayout(new java.awt.GridLayout(8,1));
cobranca2.setLayout(new java.awt.GridLayout(8,1));
valores2.setLayout(new java.awt.GridLayout(8,1));
for (int i = 0; i < listaCobranca.size()&& i < 8; i++) {
JCheckBox a = new JCheckBox();
JTextField b = new JTextField();
a.setFont(new java.awt.Font("Tahoma", 0, 9));
a.setText(listaCobranca.get(i).getTipoCobranca());
listaCheckBox.add(a);
listaValores.add(b);
cobranca1.add(a);
valores1.add(b);
}
for (int i = 8; i < listaCobranca.size()&& i < 16; i++) {
JCheckBox a = new JCheckBox();
JTextField b = new JTextField();
a.setFont(new java.awt.Font("Tahoma", 0, 9));
a.setText(listaCobranca.get(i).getTipoCobranca());
listaCheckBox.add(a);
listaValores.add(b);
cobranca2.add(a);
valores2.add(b);
}
} catch (SQLException ex) {
Logger.getLogger(ConsultaCampos.class.getName()).log(Level.SEVERE, null, ex);
}
}
private ArrayList<String> getCampos(){
CobrancaDAO cobDao = new CobrancaDAO();
ArrayList<String> campos = new ArrayList<String>();
ArrayList<Cobranca> listaCobranca;
for (int i = 0; i < listaCheckBox.size(); i++) {
JCheckBox jc = (JCheckBox) listaCheckBox.get(i);
if(jc.isSelected()){
campos.add(jc.getText());
}
}
return campos;
}
Aí tem mais ou menos o que vc precisa.
Eu fiz em swing.
O código por meio do "for" vai pegando os dados do banco de dados e criando um campo para cada dado, dinâmicamente.