Galera,
Tô com o problema de imprimir um formulário na tela através do contentPane e nas utilizações de action de menu. Como sou novo no JAVA não consegui entender como faz essa action, o actionListener consegui fazer de boa, e quando set o componentPane a janela só aparece o formulário quando eu mexo na janela, tentei algumas coisas como update e não consegui fazer, basicamente meus problemas estão no action do menu e de como imprimir no setContentPane. Meu código segue abaixo para interpretação:
Classe Usuario (onde contem o formulario)
package GUI;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;
public class Usuario extends JPanel {
private String nomes[] = {"", "Feminino", "Masculino"};
private String UFs[] = {"","AM", "GO"};
private String telefone[] = {"", "Contato", "Próprio"};
private String estadoCivil[] = {"", "Casado(a)", "Divorciado(a)", "Juntado(a)", "Solteiro(a)", "Viúvo(a)"};
private JButton jButton1, jButton2, jButton3;
private JComboBox jComboBox1, jComboBox2, jComboBox3, jComboBox4, jComboBox5, jComboBoxUFEstados;
private JLabel jLabel1, jLabel2, jLabel3, jLabel4, jLabel5, jLabel6, jLabel7, jLabel8, jLabel9;
private JLabel jLabel10, jLabel11, jLabel12, jLabel13, jLabel14, jLabel15, jLabel16;
private JLabel jlComplemento;
private JPasswordField jPasswordField1, jPasswordField2;
private JTextField jTextField1, jTextField2, jTextField3, jTextField4, jTextField5;
private JTextField jTextField6, jTextField7, jTextField8, jTextField9, jTextField10;
private JTextField jTextField11, jTextField12;
private JPanel mainPanel;
public Usuario(){
jButton1 = new JButton("Confirma");
jButton2 = new JButton("Limpar");
jButton3 = new JButton("Sair");
jLabel1 = new JLabel("Nome: ");
jLabel2 = new JLabel("Endereço: ");
jLabel3 = new JLabel("Sexo: ");
jLabel4 = new JLabel("Número: ");
jLabel5 = new JLabel("Estado Civil: ");
jLabel6 = new JLabel("Complemento");
jLabel7 = new JLabel("Bairro: ");
jLabel8 = new JLabel();
jLabel9 = new JLabel("Telefone: ");
jLabel10 = new JLabel("Senha: ");
jLabel11 = new JLabel("Confirme a senha: ");
jLabel12 = new JLabel("Celular: ");
jLabel13 = new JLabel("Cidade: ");
jLabel14 = new JLabel("UF: ");
jLabel15 = new JLabel("CPF: ");
jLabel16 = new JLabel("RG: ");
jPasswordField1 = new JPasswordField();
jPasswordField2 = new JPasswordField();
jTextField1 = new JTextField();
jTextField2 = new JTextField();
jTextField3 = new JTextField();
jTextField4 = new JTextField();
jTextField5 = new JTextField();
jTextField6 = new JTextField();
jTextField7 = new JTextField();
jTextField8 = new JTextField();
jTextField9 = new JTextField();
jTextField10 = new JTextField();
jTextField11 = new JTextField();
jTextField12 = new JTextField();
jComboBox1 = new JComboBox(nomes);
jComboBox1.getKeySelectionManager();
jComboBox1.setMaximumRowCount(3);
jComboBox2 = new JComboBox(estadoCivil);
jComboBox2.getKeySelectionManager();
jComboBox2.setMaximumRowCount(6);
jComboBox3 = new JComboBox(UFs);
jComboBox3.getKeySelectionManager();
jComboBox3.setMaximumRowCount(30);
jComboBox4 = new JComboBox(telefone);
jComboBox4.getKeySelectionManager();
jComboBox4.setMaximumRowCount(3);
jComboBox5 = new JComboBox(telefone);
jComboBox5.getKeySelectionManager();
jComboBox5.setMaximumRowCount(3);
mainPanel = new JPanel();
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
mainPanel.setLayout(mainPanelLayout);
mainPanelLayout.setHorizontalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 410, Short.MAX_VALUE))
.addComponent(jLabel8)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel16)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField12))
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
.addComponent(jButton3)
.addGap(18, 18, 18)
.addComponent(jButton2)
.addGap(18, 18, 18)
.addComponent(jButton1)
.addGap(32, 32, 32))
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel15)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
.addGroup(mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel9)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel12)
.addGap(42, 42, 42)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField8, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTextField6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 20, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField7)
.addComponent(jTextField9, javax.swing.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jComboBox5, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jComboBox4, 0, 96, Short.MAX_VALUE))))
.addContainerGap(170, Short.MAX_VALUE))
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
.addContainerGap())
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(166, Short.MAX_VALUE))
.addGroup(mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(36, 36, 36)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel13)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel14)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 393, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(30, Short.MAX_VALUE))
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(303, Short.MAX_VALUE))
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPasswordField2, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(242, Short.MAX_VALUE))))
);
mainPanelLayout.setVerticalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel15)
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel16)
.addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel8)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel13)
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel14)
.addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel9)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel12)
.addComponent(jComboBox5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(37, 37, 37)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel10)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel11)
.addComponent(jPasswordField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 62, Short.MAX_VALUE)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2)
.addComponent(jButton3))
.addGap(40, 40, 40))
);
add(mainPanel);
}
}
Classe Funções: onde armazeno algumas funções de telas para agilizar a criação, como se fosse uma interface.
import java.awt.*;
import javax.swing.*;
public class Janelas extends JFrame{
static private Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();
static public void JanelaCentralizada(JFrame q) {
// //ponha aqui suas medidas
q.setLocation((tela.width-q.getSize().width)/2,
(tela.height-q.getSize().height)/2);
q.setVisible(true);
q.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
static public void MaxMinimizado(JFrame q) {
//q.setSize(300,180); //ponha aqui suas medidas
q.setSize((tela.width-q.getSize().width)- 200,
(tela.height-q.getSize().height)- 200);
q.setVisible(true);
q.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
static public void JanelaMaximizada(JFrame q) {
// Define que a janela será mostrada inicialmente
// maximizada
q.setExtendedState(MAXIMIZED_BOTH);
MaxMinimizado(q);
q.setVisible(true);
q.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = Menu41.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
}
Classe Menu: onde eu to fazendo os actions e os menus
import java.awt.*;
import java.awt.event.*;
import javax.swing.Icon;
import javax.swing.JDesktopPane;
import javax.swing.JPopupMenu;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.ButtonGroup;
import javax.swing.JMenuBar;
import javax.swing.KeyStroke;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JFrame;
public class Menu extends JFrame implements ActionListener, ItemListener {
JTextArea output;
JScrollPane scrollPane;
String newline = "\n";
private JMenuBar menuBar;
private JMenu menu, submenu;
private JMenuItem menuItem;
private Font fonte;
public Menu() {
//Criando Menu.
final JPanel panel = new JPanel(new BorderLayout());
final JDesktopPane desktop = new JDesktopPane();
this.setContentPane(desktop);
menuBar = new JMenuBar();
fonte = new Font("Arial", Font.PLAIN, 20);
//Primeiro Menu
menu = new JMenu("Cadastros");
menu.setFont(fonte);
menu.setMnemonic(KeyEvent.VK_A);
menu.getAccessibleContext().setAccessibleDescription("The only menu in this program that has menu items");
menuBar.add(menu);
/****************************************************************************/
submenu = new JMenu("Novo");
submenu.setMnemonic(KeyEvent.VK_S);
Icon icone = new ImageIcon("Dinheiro.ico");
menuItem = new JMenuItem("Proprietário", icone);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menuItem = new JMenuItem("Matrícula");
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menuItem = new JMenuItem("Registro");
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menuItem = new JMenuItem("Usuário");
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menu.add(submenu);
/*******************************************************************/
menu.addSeparator();
submenu = new JMenu("Editar");
submenu.setMnemonic(KeyEvent.VK_S);
submenu.addActionListener(this);
ImageIcon icon = Janelas.createImageIcon("Dinheiro.ico");
menuItem = new JMenuItem("Proprietário", icon);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menuItem = new JMenuItem("Matrícula");
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menuItem = new JMenuItem("Registro");
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menuItem = new JMenuItem("Usuário");
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menu.add(submenu);
//segundo Menu.
menu = new JMenu("Sobre");
menu.setMnemonic(KeyEvent.VK_N);
menu.getAccessibleContext().setAccessibleDescription("This menu does nothing");
menuBar.add(menu);
add(menuBar);
Usuario usa = new Usuario();
panel.add(usa);
panel.show(false);
panel.setOpaque(true);
setJMenuBar(menuBar);
setContentPane(panel);
}
@Override
public void itemStateChanged(ItemEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void actionPerformed(ActionEvent E) {
// TODO Auto-generated method stub
System.out.println(E.getSource());
}
public static void main(String[] args) {
Menu thisClass = new Menu();
//instanciando um objeto da classe Exemplo2;
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//garante que a execução terminara ao clicar em close
// thisClass.setLocation(300,300);
Janelas.JanelaMaximizada(thisClass);
//tamanho do frame
thisClass.setVisible(true);
//tornando o frame visivel
}
}
Agradeço quem possa me ajudar.