Preciso fazer um aplicativo que leia um usuario, uma senha, guarde em um arquivo .txt e faça o login, utilizando o JDialog também.
A minha idéia foi aparecer um menu perguntando o que o usuário deseja fazer, criar usuario ou logar, e então abrir um JDialog solicitando o usuario e senha.
Criar e Logar funcionam, porém não em conjunto com o menuzinho, aparece apenas um JFrame vazio… :s
As Classes são:
[color=red]CLASSE OPCAO[/color]
[code]import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Opcao extends JFrame implements ActionListener {
JPanel painel;
JPanel painel2;
JLabel rotulo;
JButton criar;
JButton logar;
JMenuBar barra;
JMenu aplicativo;
JMenuItem sair;
public Opcao() {
setTitle("Opções");
this.setSize(300, 110);
this.setVisible(true);
this.setLayout(new FlowLayout());
this.setLocationRelativeTo(null);
painel = new JPanel();
painel.setLayout(new BorderLayout());
rotulo = new JLabel("O que deseja fazer ?");
rotulo.setFont(new Font("Arial", Font.PLAIN, 20));
painel.add(rotulo, BorderLayout.CENTER);
painel2 = new JPanel();
painel2.setLayout(new GridLayout(1, 2, 20, 20));
criar = new JButton("Criar Usuário");
criar.addActionListener(this);
painel2.add(criar);
logar = new JButton("Efetuar Login");
logar.addActionListener(this);
painel2.add(logar);
this.add(painel, BorderLayout.NORTH);
this.add(painel2, BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
// Verifica se o evento pertence ao botão
if (e.getSource() == criar) {
CriaLogin criaLogin = new CriaLogin(this);
JOptionPane.showMessageDialog(null, "Usuário cadastrado com Sucesso:\n\nLogin: " + criaLogin.getUsuario() + "\nSenha: " + criaLogin.getSenha());
}
}
}
[/code]
[color=red]CLASSE CRIALOGIN[/color]
[code]import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFrame;
public class CriaLogin extends JDialog implements ActionListener{
JPanel painel;
JLabel rotulo1;
JTextField campo1;
JLabel rotulo2;
JTextField campo2;
JButton botao;
String usuario;
String senha;
public CriaLogin(JFrame frame){
super(frame, true);
this.setSize(290, 125);
this.setVisible(true);
this.setLayout(new BorderLayout());
this.setLocationRelativeTo(null);
this.setTitle("Criar Login");
//this.setResizable(false);
painel = new JPanel();
rotulo1 = new JLabel("Login:");
painel.add(rotulo1);
campo1 = new JTextField(20);
painel.add(campo1);
rotulo2 = new JLabel("Senha:");
painel.add(rotulo2);
campo2 = new JTextField(20);
painel.add(campo2);
botao = new JButton("Criar Login");
botao.addActionListener(this);
painel.add(botao);
this.add(painel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}//Fim do Construtor
public void actionPerformed(ActionEvent e) {
// Verifica se o evento pertence ao botão
if (e.getSource() == botao) {
usuario = campo1.getText();
senha = campo2.getText();
new GeradorLogin(campo1.getText(), campo2.getText());
dispose();
}
}
public String getUsuario(){
return usuario;
}
public String getSenha(){
return senha;
}
} //Fim da Classe CriaLogin[/code]
[color=red]CLASSE GERADORLOGIN[/color]
[code]import java.io.File;
import java.io.IOException;
import java.io.FileWriter;
import java.io.PrintWriter;
public class GeradorLogin {
File arquivo;
FileWriter arquivoEscrever;
PrintWriter escrever;
public GeradorLogin(String usuario, String senha) {
try {
arquivo = new File("login.txt");
arquivo.createNewFile();
arquivoEscrever = new FileWriter("login.txt", false);
escrever = new PrintWriter(arquivoEscrever);
escrever.printf("%s%s", usuario, senha);
escrever.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
} // Fim do Construtor
} // Fim da Classe GeradorLogin[/code]
[color=red]CLASSE TESTAOPCAO[/color]
[code]public class TestaOpcao {
public static void main(String[] args) {
Opcao op = new Opcao();
}
}[/code]
Quem puder ajudar, brigadão…