[resolvido] clicar em botão e aparecer painel

3 respostas
D

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.

3 Respostas

M

Não sei se lhe ajuda, mas esse código alterna entre os JInternalFrames abertos do programa com Ctrl+PageUp e Ctrl+PageDown

InputMap map = SwingUtilities.getUIInputMap(jDesktopPane,1); map.put(KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_PAGE_DOWN,java.awt.event.InputEvent.CTRL_MASK, true), "selectNextFrame"); map = SwingUtilities.getUIInputMap(jDesktopPane,1);

D

Sabe as tabs? Em vez de preencher uma e depois preencher outra e confirmar o cadastro, eu quero que preencha o formulário em um painel e clique em “avançar”, e depois continue o preenchimento em outro painel. Como se fosse aqueles painéis de setup de algum programa do Windows.

D

Já resolvi.

Neste link

http://www.javafree.org/javabb/viewtopic.jbb?t=869946

Criado 28 de agosto de 2008
Ultima resposta 29 de ago. de 2008
Respostas 3
Participantes 2