Oi a todos.
Como posso fazer com que ao clicar em um botão "avançar", o painel2 apareça no lugar desse exato painel 1(que é o que está ativo) e seu painel de botões apareça no lugar do painel dos botões do painel 1.
Resumindo, eu quero que haja uma troca de visibilidade entre painéis.
public static void main(String[] args) {
try { // modo windows
//UIManager.setLookAndFeel("com.sun.java.swing.plaf.metal.MetalLookAndFeel");
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
} catch (InstantiationException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
try {
tela1 t = new tela1();
t.setVisible(true);
} catch(ParseException Pe) {
}
}
public tela1() throws ParseException {
JFrame frame = new JFrame("Cadastro de gado");
setSize(600,250);
setResizable(false);
setLocationRelativeTo( null );
Container c = new Container();
c.setLayout(new FlowLayout());
botAvancar = new JButton("Avançar");
botAvancar.addActionListener(this);
c.add(botAvancar);
JPanel pSul = new JPanel(new BorderLayout());
pSul.add(c, BorderLayout.EAST);
JPanel panel = new JPanel(new GridLayout(0,2));
labNum = new JLabel("Nº");
labNome = new JLabel("Nome");
labIdade = new JLabel("Idade");
labInsemin = new JLabel("Data de inseminação");
labParto = new JLabel("Data de Parto");
labSecagem = new JLabel("Data de secagem");
labCria = new JLabel("Sexo da cria <f/m>");
labVacina = new JLabel("Data de vacina");
fieldNum = new JTextField(10);
fieldNome = new JTextField(10);
fieldIdade = new JTextField(10);
/** painel para combobox de datas de inseminação **/
JPanel panelInsemin = new JPanel(new GridLayout(0,4));
Object objDia = "Dia";
inseminDia = new JComboBox();
inseminDia.addItem(objDia);
//inseminDia.setSelectedItem(null);
inseminMes = new JComboBox();
//inseminMes.setSelectedItem(null);
inseminAno1 = new JComboBox();
//inseminAno1.setSelectedItem(null);
inseminAno2 = new JComboBox();
//inseminAno2.setSelectedItem(null);
panelInsemin.add(inseminDia);
panelInsemin.add(inseminMes);
panelInsemin.add(inseminAno1);
panelInsemin.add(inseminAno2);
MaskFormatter maskParto = new MaskFormatter("##/##/####");
fieldParto = new JFormattedTextField(maskParto);
MaskFormatter maskSecagem = new MaskFormatter("##/##/####");
fieldSecagem = new JFormattedTextField(maskSecagem);
fieldCria = new JTextField(10);
MaskFormatter maskVacina = new MaskFormatter("##/##/####");
fieldVacina = new JFormattedTextField(maskVacina);
panel.add(labNum);
panel.add(labNome);
panel.add(fieldNum);
panel.add(fieldNome);
panel.add(labIdade);
panel.add(labInsemin);
panel.add(fieldIdade);
panel.add(panelInsemin);
panel.add(labParto);
panel.add(labSecagem);
panel.add(fieldParto);
panel.add(fieldSecagem);
panel.add(labCria);
panel.add(labVacina);
panel.add(fieldCria);
panel.add(fieldVacina);
panelContinuacao = new JPanel(new GridLayout());
botCadast = new JButton("Cadastrar");
botCadast.addActionListener(this);
botCancel = new JButton("Cancelar");
botCancel.addActionListener(this);
panelContinuacao.add(botCadast);
panelContinuacao.add(botCancel);
this.add(panel);
this.add(pSul, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == botAvancar) {
panelContinuacao.setVisible(true); // ou algo como return panelContinuacao
}
if (e.getSource() == botCadast) {
Tela1();
}
if (e.getSource() == botCancel) {
dispose();
}
}
public void Tela1() {
Connection con = null; //inicializa como nula
// ... isso não importa, tá tudo normal
}
Necessito de ajuda.
Obrigado.