package Main; import LookAndFeel.TKFLookAndFeel; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.Insets; import java.awt.List; import java.awt.Point; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.text.ParseException; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JToggleButton; import javax.swing.JDialog; import javax.swing.JFormattedTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.MetalTheme; import javax.swing.text.MaskFormatter; import org.apache.batik.script.Window; import org.apache.batik.swing.*; import org.apache.batik.swing.svg.SVGLoadEventDispatcherAdapter; import org.apache.batik.swing.svg.SVGLoadEventDispatcherEvent; import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.Email; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.SimpleEmail; import org.apache.fop.apps.FOPException; import org.w3c.dom.Document; public class Login extends JDialog implements ActionListener{ Document document; Window window; JButton cancelar = new JButton("Cancelar"); JTextField nome = new JTextField(); JButton criar = new JButton("Criar um conta"); TKFLookAndFeel look = new TKFLookAndFeel(); JPasswordField senha = new JPasswordField(); JButton epass = new JButton("Esqueci minha senha"); JButton send = new JButton("Enviar senha"); JDialog e = new JDialog(); JButton cancel = new JButton("Cancelar"); JButton make = new JButton("Criar"); JDialog jcriar = new JDialog(); JTextField esend = new JTextField(); JSVGCanvas pasta = new JSVGCanvas(); Login(){ pasta.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent arg0) { } public void mouseEntered(MouseEvent arg0) { pasta.setBorder(BorderFactory.createEtchedBorder()); } public void mouseExited(MouseEvent arg0) { pasta.setBorder(null); } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } }); format1(); format2(); setTitle("TKFContas"); JPanel cabecalho = new JPanel(new FlowLayout()); JPanel entrada = new JPanel(new BorderLayout()); JPanel entrada2 = new JPanel(new GridLayout(2,2)); JLabel anuncio = new JLabel("Tudo que você precisa em uma conta!"); JSVGCanvas canvas = new JSVGCanvas(); // Forces the canvas to always be dynamic even if the current // document does not contain scripting or animation. canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); canvas.addSVGLoadEventDispatcherListener (new SVGLoadEventDispatcherAdapter() { public void svgLoadEventDispatchStarted (SVGLoadEventDispatcherEvent e) { // At this time the document is available... document = canvas.getSVGDocument(); // ...and the window object too. window = canvas.getUpdateManager(). getScriptingEnvironment().createWindow(); // Registers the listeners on the document // just before the SVGLoad event is // dispatched. // It is time to pack the frame. } }); canvas.setURI(getClass().getResource("logo.svg").toString()); entrada.add(anuncio,BorderLayout.NORTH); entrada.add(canvas,BorderLayout.CENTER); entrada.add(entrada2,BorderLayout.SOUTH); JPanel controles = new JPanel(new FlowLayout()); JLabel titulo = new JLabel("É nescessário que você entre com sua conta TKF para acessar esse serviço",JLabel.CENTER); cabecalho.add(titulo); JLabel ln = new JLabel("Digite seu nome de usuário ou email:"); JLabel ls = new JLabel("Digite sua senha:"); entrada2.add(ln); entrada2.add(nome); entrada2.add(ls); entrada2.add(senha); entrada2.setBorder(BorderFactory.createEmptyBorder(20,20,20,20)); JButton entrar = new JButton("Entrar"); cancelar.addActionListener(this); controles.add(epass); epass.addActionListener(this); controles.add(cancelar); controles.add(criar); criar.addActionListener(this); controles.add(entrar); add(cabecalho,BorderLayout.NORTH); add(entrada,BorderLayout.CENTER); add(controles,BorderLayout.SOUTH); look.formatar(this); pack(); setResizable(false); setVisible(true); setLocationRelativeTo(null); } public static void main(String[]args){ Login l = new Login(); } public void actionPerformed(ActionEvent evento) { if(evento.getSource()==cancelar){ System.exit(0); } if(evento.getSource()==send){ e.dispose(); } if(evento.getSource()==cancel){ jcriar.dispose(); } if(evento.getSource()==make){ jcriar.dispose(); } if(evento.getSource()==epass){ e.setVisible(true); } if(evento.getSource()==criar){ jcriar.setVisible(true); } } public void format1(){ send.addActionListener(this); nome.setText(""); senha.setText(""); JPanel content = new JPanel(new GridLayout(2,1)); JLabel title = new JLabel("Digite seu email e receba a sua senha:"); content.add(title); content.add(esend); JPanel button = new JPanel(new FlowLayout()); button.add(send); e.add(content,BorderLayout.CENTER); e.add(button,BorderLayout.SOUTH); look.formatar(e); e.setTitle("Esqueci minha senha"); e.pack(); e.setResizable(false); e.setLocationRelativeTo(null); } public void format2(){ Insets scnMax = Toolkit.getDefaultToolkit().getScreenInsets(getGraphicsConfiguration()); final int taskBarSize = scnMax.bottom; final int taskBarHeight = scnMax.top; make.addActionListener(this); nome.setText(""); senha.setText(""); JLabel titulo = new JLabel("Prencha esse formulário com seus dados:(*obrigatório)"); titulo.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); jcriar.add(titulo,BorderLayout.NORTH); JPanel form = new JPanel(new GridLayout(14,2)); JToggleButton fisico = new JToggleButton("Sou pessoa física",true); JToggleButton juridico = new JToggleButton("Sou pessoa jurídica"); form.add(fisico); form.add(juridico); JLabel nome = new JLabel("*Qual será o seu nome de usuário?"); JTextField tnome = new JTextField(); JLabel email = new JLabel("*Qual é o seu endereço de email?"); JTextField temail = new JTextField(); JLabel senha = new JLabel("*Qual será a sua senha?"); JPasswordField psenha = new JPasswordField(); JLabel senha2 = new JLabel("*Digite sua senha novamente:"); JPasswordField psenha2 = new JPasswordField(); form.add(nome); form.add(tnome); form.add(email); form.add(temail); form.add(senha); form.add(psenha); form.add(senha2); form.add(psenha2); JLabel pais = new JLabel("*Qual é o seu país?"); JComboBox cpais = new JComboBox<>(); cpais.addItem("Brasil"); cpais.addItem("Japão"); form.add(pais); form.add(cpais); JLabel fillname = new JLabel("Qual é o seu nome completo?"); JTextField tfillname = new JTextField(); tfillname.setName("flwu"); form.add(fillname); form.add(tfillname); JLabel cep = new JLabel("Qual é o seu cep?"); JFormattedTextField tcep = null; try { tcep = new JFormattedTextField(new MaskFormatter("#####-###")); } catch (ParseException e) { e.printStackTrace(); } form.add(cep); form.add(tcep); JLabel cpf = new JLabel("Qual é o seu CPF?"); JFormattedTextField tcpf = null; try { tcpf = new JFormattedTextField(new MaskFormatter("###.###.###-##")); } catch (ParseException e) { e.printStackTrace(); } JLabel cnpj = new JLabel("Qual é o seu cnpj?"); JFormattedTextField tcnpj = null; try { tcnpj = new JFormattedTextField(new MaskFormatter("##.###.###/####-##")); } catch (ParseException e) { e.printStackTrace(); } form.add(cpf); form.add(tcpf); form.add(cnpj); form.add(tcnpj); JLabel telefone = new JLabel("Qual é o seu telefone?"); JFormattedTextField ttelefone = null; try { ttelefone = new JFormattedTextField(new MaskFormatter("(##)-####-####")); } catch (ParseException e) { e.printStackTrace(); } JLabel nasc = new JLabel("Que dia você nasceu?"); JFormattedTextField tnasc = null; try { tnasc = new JFormattedTextField(new MaskFormatter("##/##/####")); } catch (ParseException e) { e.printStackTrace(); } form.add(nasc); form.add(tnasc); form.add(telefone); form.add(ttelefone); JLabel sobre = new JLabel("Fale um pouquinho sobre você:"); JTextArea tsobre = new JTextArea(); JScrollPane scroll2 = new JScrollPane(tsobre); form.add(sobre); form.add(scroll2); JLabel imagem = new JLabel("Selecione uma imagem para sua conta:"); form.add(imagem); // Forces the canvas to always be dynamic even if the current // document does not contain scripting or animation. pasta.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); pasta.addSVGLoadEventDispatcherListener (new SVGLoadEventDispatcherAdapter() { public void svgLoadEventDispatchStarted (SVGLoadEventDispatcherEvent e) { // At this time the document is available... document = pasta.getSVGDocument(); // ...and the window object too. window = pasta.getUpdateManager(). getScriptingEnvironment().createWindow(); // Registers the listeners on the document // just before the SVGLoad event is // dispatched. // It is time to pack the frame. } }); pasta.setURI(getClass().getResource("pasta.svg").toString()); form.add(pasta); JScrollPane scroll = new JScrollPane(form); jcriar.add(form,BorderLayout.CENTER); JPanel ctrl = new JPanel(new FlowLayout()); ctrl.add(make); ctrl.add(cancel); cancel.addActionListener(this); jcriar.add(ctrl,BorderLayout.SOUTH); look.formatar(jcriar); jcriar.setTitle("Crie sua conta"); jcriar.pack(); jcriar.setSize(new Dimension(jcriar.getWidth()-taskBarHeight, Toolkit.getDefaultToolkit().getScreenSize().height-taskBarSize)); jcriar.setResizable(false); jcriar.setLocationRelativeTo(null); } }