Pessoal, eis o problema
Estou desenvolvendo um sistema como projeto de uma matéria da minha facul, porém travei em um parte bastante irritante…
Quando eu atribuo um ImageIcon para uma JLabel, para exibir o Logotipo na minha tela de Login ela simplismente não aparece!
Já até debuguei ela, ela encontra o caminho da imagem, atribui um id para ela, atribui ela na JLabel mas não aparece de jeito algum!
Deixo aqui abaixo o código, se alguém puder me ajudar ficarei muito grato!
Minha Classe Janela Login:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class JanelaLogin extends JFrame
{
private static final long serialVersionUID = 1L;
private JLabel lbLogin;
private JLabel lbSenha;
private JLabel lbLogotipo;
private JTextField txLogin;
private JTextField txSenha;
private JButton btLogin;
private JButton btSair;
private Icon logotipo;
public JanelaLogin()
{
this.setTitle("Realizar Login");
this.setSize(400, 350);
this.setLocation(400, 200);
setLayout(null);
this.lbLogin = new JLabel("Login: ");
this.lbSenha = new JLabel("Senha: ");
this.lbLogotipo = new JLabel("");
this.txLogin = new JTextField();
this.txSenha = new JTextField();
this.btLogin = new JButton("Login");
this.btSair = new JButton("Sair");
this.logotipo = new ImageIcon("imagens/logotipo.jpg");
lbLogotipo.setIcon(logotipo);
btLogin.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0) {
validarLogin();
}
});
btSair.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
getContentPane().add(this.lbLogotipo);
getContentPane().add(this.lbLogin);
getContentPane().add(this.txLogin);
getContentPane().add(this.lbSenha);
getContentPane().add(this.txSenha);
getContentPane().add(this.btLogin);
getContentPane().add(this.btSair);
lbLogotipo.setBounds(10, 10, 100, 100);
lbLogin.setBounds(50, 150, 80, 30);
lbSenha.setBounds(50, 190, 80, 30);
txLogin.setBounds(150, 150, 200, 30);
txSenha.setBounds(150, 190, 200, 30);
btLogin.setBounds(80, 250, 110, 40);
btSair.setBounds (210, 250, 110, 40);
this.setVisible(true);
}
private void validarLogin()
{
if (txLogin.getText().equals("adm") && String.valueOf(txSenha.getText()).equals("1234"))
{
JOptionPane.showMessageDialog(this, "Login realizado com sucesso!");
this.setVisible(false);
JFrame principal = new JanelaPrincipalAction();
principal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
principal.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null, "Login / Senha Inválidos", "Erro!", JOptionPane.ERROR_MESSAGE);
txLogin.setText("");
txSenha.setText("");
}
}
}
E minha classe Programa:
import javax.swing.JFrame;
import view.JanelaLogin;
public class Programa
{
public static void main(String[] args)
{
JFrame login = new JanelaLogin();
login.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
login.setResizable(false);
}
}