Como posso adicionar um botão a este código?

4 respostas
D

Teria como eu adicionar um botão neste código, para eu poder enviar os dados dos TextFields para uma tabela depois!!
Código:

import java.awt.*; 
import javax.swing.*; 

public class Layout_Mini_Inc extends JPanel { 
   private JPanel labelPanel, fieldsPanel; 
  
   private String labels[] = { "Código do Curso:", "Matrícula:"}; 
   JTextField id_curso, id_desc; 
    
   public Layout_Mini_Inc() 
   { 
      fieldsPanel = new JPanel(); 
      
      fieldsPanel.add(new JLabel("Inscrição de Cursos",JLabel.CENTER)); 
      fieldsPanel.setLayout(new GridLayout( 5,5,20,20 ) ); 
      fieldsPanel.add(new JLabel("Código do Curso",JLabel.CENTER)); 
      id_curso = new JTextField(); 
      fieldsPanel.add(id_curso); 
      fieldsPanel.add(new JLabel("Matrícula",JLabel.CENTER)); 
      id_desc = new JTextField(); 
      fieldsPanel.add( id_desc ); 
      
       add( fieldsPanel ); 
      } 
}

4 Respostas

elvishr

Não entendi bem a sua dúvida, mas, se está se referindo ao Layout, tenta usar o GridBagLayout.

D

Como assim, eu que não entendi, este código acima adiciona uns textfields, uma outra classe chama essa classe que exibe os textfields em uma janela, só que eu queria adicionar um botão chamado cadastrar nesta janela, mas não estou consseguindo…

Você está falando para eu mudar para GridBagLayout onde for GridLayout no código é isso??? só isso é o suficiente para mostrar o botão???

um abraço.

N

Para adicionar um botão você faz igual a como você fez com os textField, só que você pode usar um JButton.

Algo como:

public Layout_Mini_Inc() 
   { 
     JButton btnCadastrar = new JButton("Cadastrar"); // incluir isto
      fieldsPanel = new JPanel(); 
      
      fieldsPanel.add(new JLabel("Inscrição de Cursos",JLabel.CENTER)); 
      fieldsPanel.setLayout(new GridLayout( 5,5,20,20 ) ); 
      fieldsPanel.add(new JLabel("Código do Curso",JLabel.CENTER)); 
      id_curso = new JTextField(); 
      fieldsPanel.add(id_curso); 
      fieldsPanel.add(new JLabel("Matrícula",JLabel.CENTER)); 
      id_desc = new JTextField(); 
      fieldsPanel.add( id_desc );

     fieldsPanel.add(btnCadastrar);  // incluir isto
       add( fieldsPanel ); 
   }

Você precisa ajustar o layout.

Você vai precisar de um Listener para responder ao evento do click do botão, por exemplo, você pode usar sua própria classe como um ActionListener.

Você vai precisar de alguns imports:

import java.awt.event.*;
import java.awt.*; // nao sei ao certo, talvez este não seja necessário

Altere a declaração da sua classe da seguinte forma:

public class Layout_Mini_Inc extends JPanel implements ActionListener{

Declarar um ActionListener:

Implemente o método actionPerformed(ActionEvent) na sua classe da seguinte forma:

public class Layout_Mini_Inc extends JPanel implements ActionListener{ 
...
   public void actionPerformed(ActionEvent e) {
	String action;
		action = e.getActionCommand();
	if (action.equals("Cadastrar"))
	{
                         // coloque aqui o que fazer quando o botão for pressionado
	}
   }
...
}

:?

elvishr

pow, é isso aí, o sandro explicou tudo…

Criado 29 de abril de 2003
Ultima resposta 30 de abr. de 2003
Respostas 4
Participantes 3