Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
boas,
Por acaso nao me aconseguem dar umas dicas de como se realiza um registo de utilizadores, ou seja, login?
cumprimentos
oi...
eu estou començando a trabalhar no netbeans e no jva, ja trabalhei foi no visual studio, em VB.net...
Por iss o que eu estava precisando mesmo era de algum exemplo? ja tive a pesquisar na net e nao encontrei nada de jeito..
você vai fazer usando algum framework..
comece pesquisando por SWING
depois escolha o layout que vai usar
ai depois vamos te ajudando
abraço
oi... tive ausente um dias....
mas ja retomei ao trabalho....
qual seria o passo seguint que código inseria para quando eu inserir o nome e a pass ele fosse buscar a base de dados e verificar se existia aquele nome ou nao?
Vamos com calma!
Você já pesquisou o que te falei
Qual será o objetivo da aplicação, pesquise pelo padrão MVC
facilitará muito o seu trabalho
abraço
sim ja pesquisei, a minha aplicaçao será pra uma empresa em que os utilizadores para entrar terao de fazer o registo (login),
você já escolheu qual o layout da tela vai querer?
poste o código do layout
Olha tenho duas jLabels, mais 1 jTextField e depois mais um jPassWordField e por fim o jbutton....
ok
qual a sua dúvida agora?
a duvida é como é que eu faço um login, isto é, qual é o código que eu tenho que utilizar por tras dos layout... penso k deve ser uma coisa simples mas eu n tou a ver como fazer?
se mu podesse ajudar atraves do código que eu preciso usar, eu ficava-lhe muito grato
no botão você coloca isso
botao.addActionListener(new LoginAcao());
ai você cria uma classe interna da seguinte forma
private class LoginAcao implements ActionListener
implemente o metodo que ela mandar
/**
* Acao executada ao clique do botao
*/
public void actionPerformed(ActionEvent ae) {
if ( ae.getSource() == botao ) { // nome do botao
LoginBiz biz = new LoginBiz();
if ( biz.validaLoginSenha(login, senha)){ // valido os campos
new ProximaTela().executa(); // aqui eu mando ele exibir uma nova tela, esse ProximaTela é a tela que eu vou exibir, uma outra classe
tela.setVisible(false); // aqui eu fecho a atual
} else {
JOptionPane.showMessageDialog(null, "Dados Incorretos"); // mensagem de erro
}
}
}Deve tar faltando algum private
é que assim ta dando mt erro
posta o código da sua classe toda
public TesteLogin() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jPasswordField1 = new javax.swing.JPasswordField();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Nome:");
jLabel2.setText("PassWord:");
jButton1.setText("Entrar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 149, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPasswordField1)))
.addGap(34, 34, 34)
.addComponent(jButton1)
.addContainerGap(381, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(47, 47, 47)
.addGroup(layout.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))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(61, 61, 61)
.addComponent(jButton1)))
.addContainerGap(313, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
botao.addActionListener(new LoginAcao());
private class LoginAcao implements ActionListener
/**
* Acao executada ao clique do botao
*/
public void actionPerformed(ActionEvent ae) {
if ( ae.getSource() == botao ) { // nome do botao
LoginBiz biz = new LoginBiz();
if ( biz.validaLoginSenha(login, senha)){ // valido os campos
new ProximaTela().executa(); // aqui eu mando ele exibir uma nova tela, esse ProximaTela é a tela que eu vou exibir, uma outra classe
tela.setVisible(false); // aqui eu fecho a atual
} else {
JOptionPane.showMessageDialog(null, "Dados Incorretos"); // mensagem de erro
}
}
}
// TODO add your handling code here:
}
/**
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TesteLogin().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}vou tentar arrumar o seu código para ficar mais claro, ok!
public class TesteLogin {
// Variables declaration - do not modify
private javax.swing.JButton jButton1; // evite fazer isso, faça o import do package em cima da classe
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
public TesteLogin() {
initComponents();
}
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jPasswordField1 = new javax.swing.JPasswordField();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Nome:");
jLabel2.setText("PassWord:");
jButton1.setText("Entrar");
jButton1.addActionListener(new java.awt.event.ActionListener() { // dessa forma você não precisa da classe interna
public void actionPerformed(java.awt.event.ActionEvent ae) { // alterei o evt por ae
if ( ae.getSource() == botao ) { // nome do botao
LoginBiz biz = new LoginBiz();
if ( biz.validaLoginSenha(login, senha)){ // valido os campos
new ProximaTela().executa(); // aqui eu mando ele exibir uma nova tela, esse ProximaTela é a tela que eu vou exibir, uma outra classe
tela.setVisible(false); // aqui eu fecho a atual
} else {
JOptionPane.showMessageDialog(null, "Dados Incorretos"); // mensagem de erro
}
}
// jButton1ActionPerformed(evt); tire isso daqui
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 149, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPasswordField1)))
.addGap(34, 34, 34)
.addComponent(jButton1)
.addContainerGap(381, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(47, 47, 47)
.addGroup(layout.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))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(61, 61, 61)
.addComponent(jButton1)))
.addContainerGap(313, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/*java.awt.EventQueue.invokeLater(new Runnable() { // para que fazer isso
public void run() {
new TesteLogin().setVisible(true);
}
});
*/
// bastaria somente isso
new TesteLogin();
}
}olha desculpa ta loa chatear de novo
if ( ae.getSource() == botao ) { // nome do botao
LoginBiz biz = new LoginBiz();
if ( biz.validaLoginSenha(login, senha)){ // valido os campos
new ProximaTela().executa(); // aqui eu mando ele exibir uma nova tela, esse ProximaTela é a tela que eu vou exibir, uma outra classe
tela.setVisible(false); // aqui eu fecho a atual
} else {
JOptionPane.showMessageDialog(null, "Dados Incorretos"); // mensagem de erro
}
}
// jButton1ActionPerformed(evt); tire isso daqui
}
});import javax.swing.JOptionPane; agora não sei qual tá faltando.
você deve criar as classes LoginBiz()
o metodo validaLoginSenha(login, senha)
passando o login e a senha
deve criar a classe ProximaTela()
e o metodo executa
ou implementar diferente
você viu o que esse código faz?
entendeu?
o importante é entender
abraço
Como é k eu faço iss me ajude por favor... me de um exemplo seu que eu possa ver
Cara, desculpa
mas se você não sabe criar uma classe e um método
num tem como te ajudar,
leia primeiramente alguns tutoriais e depois volte a posta
abraço
sim eu sei criar um metodo e uma classe, o problema é k eu nao tou conseguindo concretizar o meu login...
if(jTextField1.getText().equals("")
|| jPasswordField1.getText().equals("")){
JOptionPane.showMessageDialog(null, "Login e Senha Inválido.","oi", JOptionPane.ERROR_MESSAGE);
}else{
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xp", "root","1234");
Statement stm = con.createStatement();
String SQL = "Select * from usuarios where login = '" + jTextField1.getText()+"';";
ResultSet rs = stm.executeQuery(SQL);Seria mais ou menos isso mesmo, porém no exemplo que te passei eu divido as responsabilidades, leia sobre http://en.wikipedia.org/wiki/Model-view-controller
O que você sabe? e o que você não sabe? fica mais facil de ajudar