Deu certo…
Fiz as modificações necessarias e esta funcionando.
Eu inclui um botao de salvar, para cada nova pergunta, aparece um botao de salvar e ja armazena no banco.
Nao ficou a coisa mais elegante, mais pelo menos ta funcionando.
Vo posta o codigo pra quem quize da uma olhada, pq achei mt util.
[code]package asma.projeto;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import net.miginfocom.swing.MigLayout;
public class AdicionaNovaPerg extends JFrame {
private JPanel contentPane;
private JScrollPane scrollPane;
private JPanel pnlBotoes;
private JButton adicionaDisc;
private JButton adicionaMult;
private JButton salvar;
private JPanel pnlQuestoes;
private List<JLabel> labels;
private List<JTextField> textFields;
private int nQuestoes = 1;
private int nAlternativa = 1;
Formulario form;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
Formulario form;
public void run() {
try {
AdicionaNovaPerg frame = new AdicionaNovaPerg(form);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public AdicionaNovaPerg(Formulario form) {
this.form = form;
setTitle("Adicionar Perguntas");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 900, 600);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
contentPane.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Cadastrar Perguntas", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial", 1, 18)));
setContentPane(contentPane);
contentPane.add(getScrollPane(), BorderLayout.CENTER);
contentPane.add(getPnlBotoes(), BorderLayout.SOUTH);
labels = new ArrayList<JLabel>();
textFields = new ArrayList<JTextField>();
}
private JScrollPane getScrollPane() {
if (scrollPane == null) {
scrollPane = new JScrollPane();
scrollPane.setViewportView(getPnlQuestoes());
}
return scrollPane;
}
private JButton Salvar() {
if (adicionaDisc == null) {
adicionaDisc = new JButton("Salvar");
adicionaDisc.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new Inicio().setVisible(true);
}
});
}
return adicionaDisc;
}
private JPanel getPnlBotoes() {
if (pnlBotoes == null) {
pnlBotoes = new JPanel();
pnlBotoes.add(getBtnAdicionarDisc());
pnlBotoes.add(getBtnAdicionarMult());
}
return pnlBotoes;
}
private JPanel getSalvar() {
if (pnlBotoes == null) {
pnlBotoes = new JPanel();
// pnlBotoes.add(getBtnAdicionarDisc());
pnlBotoes.add(Salvar());
// pnlBotoes.add(getBtnAdicionarMult());
}
return pnlBotoes;
}
private JButton getBtnAdicionarDisc() {
if (adicionaDisc == null) {
adicionaDisc = new JButton("Adicionar Quest\u00E3o Discursiva");
adicionaDisc.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
addQuestaoDisc();
}
});
}
return adicionaDisc;
}
private JButton getBtnAdicionarMult() {
if (adicionaMult == null) {
adicionaMult = new JButton("Adicionar Quest\u00E3o de Multipla Escolha");
adicionaMult.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
addQuestaoMulti();
}
});
}
return adicionaMult;
}
private JPanel getPnlQuestoes() {
if (pnlQuestoes == null) {
pnlQuestoes = new JPanel();
pnlQuestoes.setLayout(new MigLayout("", "[][grow]", "[][]"));
}
return pnlQuestoes;
}
private void addQuestaoDisc() {
JLabel lbl;
JTextField txt;
JButton salvar = new JButton("Salvar");
pnlQuestoes.add(lbl = new JLabel(String.format("Questão Discursiva", nAlternativa)), String.format("cell 0 %d", nAlternativa));
pnlQuestoes.add(txt = new JTextField(), String.format("cell 1 %d,alignx left", nAlternativa));
txt.setColumns(60);
salvar.addActionListener((new ActionListener() {
public void actionPerformed(ActionEvent e) {
new PaginaInicial().setVisible(true);
}
}));
pnlQuestoes.add(salvar, String.format("cell 2 %d,alignx left", nAlternativa));
nAlternativa++;
txt.requestFocusInWindow();
scrollPane.validate();
pnlQuestoes.scrollRectToVisible(txt.getBounds());
}
private void addQuestaoMulti() {
JLabel perg, alt1, alt2, alt3, alt4, alt5;
JButton salvar = new JButton("Salvar");
JTextField tfperg, tfalt1, tfalt2, tfalt3, tfalt4, tfalt5;;
pnlQuestoes.add(perg = new JLabel(String.format("Questão Multipla Escolha", nAlternativa)), String.format("cell 0 %d", nAlternativa));
pnlQuestoes.add(tfperg = new JTextField(), String.format("cell 1 %d,alignx left", nAlternativa));
tfperg.setColumns(60);
nAlternativa++;
tfperg.requestFocusInWindow();
scrollPane.validate();
pnlQuestoes.scrollRectToVisible(tfperg.getBounds());
pnlQuestoes.add(alt1 = new JLabel(String.format("Alternativa A", nAlternativa - 1)), String.format("cell 0 %d", nAlternativa));
pnlQuestoes.add(tfalt1 = new JTextField(), String.format("cell 1 %d,alignx left", nAlternativa));
tfalt1.setColumns(60);
nAlternativa++;
tfalt1.requestFocusInWindow();
scrollPane.validate();
pnlQuestoes.scrollRectToVisible(tfalt1.getBounds());
pnlQuestoes.add(alt2 = new JLabel(String.format("Alternativa B", nAlternativa)), String.format("cell 0 %d", nAlternativa));
pnlQuestoes.add(tfalt2 = new JTextField(), String.format("cell 1 %d,alignx left", nAlternativa));
tfalt2.setColumns(60);
nAlternativa++;
tfalt2.requestFocusInWindow();
scrollPane.validate();
pnlQuestoes.scrollRectToVisible(tfalt2.getBounds());
pnlQuestoes.add(alt3 = new JLabel(String.format("Alternativa C", nAlternativa)), String.format("cell 0 %d", nAlternativa));
pnlQuestoes.add(tfalt3 = new JTextField(), String.format("cell 1 %d,alignx left", nAlternativa));
tfalt3.setColumns(60);
nAlternativa++;
tfalt3.requestFocusInWindow();
scrollPane.validate();
pnlQuestoes.scrollRectToVisible(tfalt3.getBounds());
pnlQuestoes.add(alt4 = new JLabel(String.format("Alternativa D", nAlternativa)), String.format("cell 0 %d", nAlternativa));
pnlQuestoes.add(tfalt4 = new JTextField(), String.format("cell 1 %d,alignx left", nAlternativa));
tfalt4.setColumns(60);
nAlternativa++;
tfalt4.requestFocusInWindow();
scrollPane.validate();
pnlQuestoes.scrollRectToVisible(tfalt4.getBounds());
pnlQuestoes.add(alt5 = new JLabel(String.format("Alternativa E", nAlternativa)), String.format("cell 0 %d", nAlternativa));
pnlQuestoes.add(tfalt5 = new JTextField(), String.format("cell 1 %d,alignx left", nAlternativa));
tfalt5.setColumns(60);
salvar.addActionListener((new ActionListener() {
public void actionPerformed(ActionEvent e) {
new PaginaInicial().setVisible(true);
}
}));
pnlQuestoes.add(salvar, String.format("cell 2 %d,alignx left", nAlternativa));
nAlternativa++;
tfalt5.requestFocusInWindow();
scrollPane.validate();
pnlQuestoes.scrollRectToVisible(tfalt5.getBounds());
}
}
[/code]