Janela JFrame

olá eu sou nova aqui. Gostaria de saber como eu faço com que essa tela de login abra outra tela como a de cadastro eu estou tentando aqui a dias e ainda não consegui. Poderiam na auxiliar no que estou errando, obrigada.

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Login extends JFrame{

private static final long serialversionUID =1L;
private JLabel JLlogin;
private JLabel JLsenha;
private JTextField JTlogin;
private JPasswordField JTsenha;

private JButton btnLogin;
private JButton btnSair;
private JButton btncar_cadastro;
 
	public Login() {

	super("Usuario");
	this.setSize(400,200);
	this.setLocationRelativeTo(null);
	this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
	this.setLayout(null);
	Login();
	Button();

}

	private void botao_gravarActionPerformed(java.awt.event.ActionEvent evt) {
	    new cadastro().setVisible(true);
	     dispose();
	   }


private void Login() {
	
	JLlogin = new JLabel("Login:");
	JLlogin.setBounds(30,30,70,20);
	this.add(JLlogin);
	
	JTlogin = new JTextField();
	JTlogin.setBounds(90,30,200,20);
	this.add(JTlogin);
	
	JLsenha = new JLabel("senha:");
	JLsenha.setBounds(90,60,70,20);
	this.add(JLsenha);
	
	JTsenha = new JPasswordField();
	JTsenha.setBounds(90,60,200,20);
	this.add(JTsenha);
	
	btnLogin = new JButton("Login");
	btnLogin.setBounds(60,90,80,20);
	this.add(btnLogin);
	
	btnSair = new JButton("Sair");
	btnSair.setBounds(140,90,80,20);
	this.add(btnSair);
	
}

private void Button() {

	btnLogin.addActionListener(new ActionListener() {
		
		@SuppressWarnings("deprecation")
		@Override
		public void actionPerformed(ActionEvent arg0) {
			
			
			int logins = 3;
			
			String username[] = new String[logins];
			username[0] = "cadastro";
			username[1] = "nenhum";
			username[2] = "nenhum";
			
			String password[] = new String[logins];
			password[0] = "12345";
			password[1] = "nenhum";
			password[2] = "nenhum";
			
			String[] cadastro = new String[] {"cadastro"};
							
			for (int i = 0; i < logins; ) {
				if(JTlogin.getText().equals(username[i]) && JTsenha.getText().equals(password[i])){
					if(username[i] == cadastro[i]) {
						cadastro p = new cadastro();
						 dispose();
											
					}
					else 
						JOptionPane.showMessageDialog(null,"Usuario sem Acesso");
					break;
				}
					else 
						JOptionPane.showMessageDialog(null,"Login ou Senha incorretos");
				    break;
			}
	
		}
		}
	);
		btnSair.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				System.exit(0);
				}
			}
	);
}
}

Oi Joizy, seja bem vinda!

Vc tem que colocar o nome do seu novo JFrame.

Exemplo

JFrame2 frame = new JFrame2(); //criou uma variável da classe JFrame2
frame.setVisible(true); //Mostrou o JFrame2
dispose(); //fechou o frame atual

O erro tá aqui

1 curtida

Abner_Rodrigues oi obrigado, eu agradeço pela dica, mas deu um um erro a tela de login não aparece quando eu rodo ele… essa mesma class que você me deu a dica. o que posso fazer.
obrigado mais uma vez.

Boa tarde, qual erro deu? Você trocou JFrame2 pelo nome do seu JFrame?

assim troquei, só que há janela não aparece, ele estava ligada em outra, que se chama cadastro de cliente, quando eu click cava nela para entrar, ela não aparecia só a outra janela a de cadastro de cliente.
ou seja ela devia abrir para que eu inseri-se a senha e o login, mas ao envés disso a que aparecia, era a cadastro não sei por que.
ela ficou assim

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Login extends JFrame{

private static final long serialversionUID =1L;
private JLabel JLlogin;
private JLabel JLsenha;
private JTextField JTlogin;
private JPasswordField JTsenha;

private JButton btnLogin;
private JButton btnSair;
private JButton btncar_cadastro;

public Login() {

super("Usuario");
this.setSize(400,200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setLayout(null);
Login();
Button();

}

private void botao_gravarActionPerformed(java.awt.event.ActionEvent evt) {
    new cadastro_de_cliente().setVisible(true);
     dispose();
   }

private void Login() {

JLlogin = new JLabel("Login:");
JLlogin.setBounds(30,30,70,20);
this.add(JLlogin);

JTlogin = new JTextField();
JTlogin.setBounds(90,30,200,20);
this.add(JTlogin);

JLsenha = new JLabel("senha:");
JLsenha.setBounds(90,60,70,20);
this.add(JLsenha);

JTsenha = new JPasswordField();
JTsenha.setBounds(90,60,200,20);
this.add(JTsenha);

btnLogin = new JButton("Login");
btnLogin.setBounds(60,90,80,20);
this.add(btnLogin);

btnSair = new JButton("Sair");
btnSair.setBounds(140,90,80,20);
this.add(btnSair);

}

private void Button() {

btnLogin.addActionListener(new ActionListener() {
	
	@SuppressWarnings("deprecation")
	@Override
	public void actionPerformed(ActionEvent arg0) {
		
		
		int logins = 3;
		
		String username[] = new String[logins];
		username[0] = "cadastro";
		username[1] = "nenhum";
		username[2] = "nenhum";
		
		String password[] = new String[logins];
		password[0] = "12345";
		password[1] = "nenhum";
		password[2] = "nenhum";
		
		String[] cadastro = new String[] {"cadastro"};
						
		for (int i = 0; i < logins; ) {
			if(JTlogin.getText().equals(username[i]) && JTsenha.getText().equals(password[i])){
				if(username[i] == cadastro[i]) {
					cadastro_de_cliente p = new cadastro_de_cliente();
					 dispose();
										
				}
				else 
					JOptionPane.showMessageDialog(null,"Usuario sem Acesso");
				break;
			}
				else 
					JOptionPane.showMessageDialog(null,"Login ou Senha incorretos");
			    break;
		}

	}
	}
);
	btnSair.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent arg0) {
			System.exit(0);
			}
		}
);

}
}

não sei o que seu errado

Quando postar código no fórum, selecione ele e clique no botão </> senão fica péssimo para ler.
Posta também o código das classe cadastro_de_cliente

Procure utilizar as convenções de programação Java para nomear suas classes e métodos:

  • Nomes de método sempre iniciando em letra minúscula usando padrão camel-case quando o nome é composto por mais de uma palavra;
  • Nomes de classes, interfaces e enum sempre iniciando em letra maiúscula usando padrão camel-case quando o nome é composto por mais de uma palavra;
  • Utilizar nomes de método que descrevam brevemente a operação que o método executa;