Pessoal primeiro vou explicar o que qero fazer… eu qero fazer um tela de Login onde o usuario digita login e senha e ali mesmo ele ja escolhe o idioma desejado, depois disso ele chama outra tela MenuPrincipal onde tem as opçoes desejadas do sistema, o problema é que a tela como posso explicar… um pedaço da tela de login fica na frente das opçoes do MenuPrincipal, mas nao é a tela de login que apenas esta na frente da tela MenuPrincpal, o que acontece é que a tela MenuPrincipal aparece normal com um pedaço da tela Login dentro dela deu pra entender pessoal ??
segue o codigo abaixo…
[code]import javax.swing.*;
import java.util.ResourceBundle;
import java.util.Locale;
public class ResourceBundlee extends JFrame{
protected ResourceBundle bn=null;
private JDialog d = new JDialog();
private JFrame frame=new JFrame();
public void verificar(int op){
switch(op)
{
case 1: bn=ResourceBundle.getBundle("ex11",new Locale("pt","BR"));
break;
case 2: bn = ResourceBundle.getBundle("ex11", Locale.US);
break;
case 3: bn=ResourceBundle.getBundle("ex11", new Locale("es","ES"));
break;
default: bn=ResourceBundle.getBundle("ex11");
break;
}
}
}[/code]
[code]import javax.swing.;
import java.awt.event.;
import java.awt.*;
public class Login extends ResourceBundlee implements ActionListener{
private JButton botoes[];
private JTextField texto[];
private JLabel label[];
private ImageIcon imagem[];
private JDialog d = new JDialog();
public Login(){
super();
botoes= new JButton[5];
for(int i=0;i<botoes.length;i++){
botoes[i]=new JButton("");
}
texto=new JTextField[2];
label=new JLabel[2];
String nome[]={"Usuario","Senha"};
for(int i=0;i<texto.length;i++){
label[i]=new JLabel(nome[i]);
label[i].setFont(new Font("Serif",Font.PLAIN,16));
texto[i]=new JTextField();
}
JPanel panel1=new JPanel();
panel1.setLayout(null);
panel1.setLocation(140,80);
panel1.setSize(359,219);
panel1.setBorder(BorderFactory.createTitledBorder(""));
label[0].setBounds(30,30,100,60);
label[1].setBounds(30,90,100,60);
texto[0].setBounds(110,50,220,20);
texto[1].setBounds(110,110,220,20);
for(int i=0;i<label.length;i++){
panel1.add(label[i]);
panel1.add(texto[i]);
}
imagem = new ImageIcon[5];
imagem[0]= new ImageIcon("imagens/brasil.jpg");
imagem[1]= new ImageIcon("imagens/espanha.jpg");
imagem[2]= new ImageIcon("imagens/eua.jpg");
imagem[3] = new ImageIcon("imagens/ok.jpg"); // imagem do botão CADASTRAR/
imagem[4] = new ImageIcon("imagens/voltar.jpg"); // imagem do botão CANCEL/
botoes[0]=new JButton(imagem[0]);
botoes[0].setBounds(540,20,37,25);
botoes[1]=new JButton(imagem[1]);
botoes[1].setBounds(590,20,37,25);
botoes[2]=new JButton(imagem[2]);
botoes[2].setBounds(640,20,37,25);
botoes[3]=new JButton("Ok", imagem[3]);
botoes[3].setBounds(480,320,100, 26);
botoes[4]=new JButton("Cancel", imagem[4]);
botoes[4].setBounds(590,320,100, 26);
for(int i=0;i<botoes.length;i++){
botoes[i].addActionListener(this);
}
JPanel panel2=new JPanel();
panel2.setLayout(null);
panel2.add(panel1);
panel2.add(botoes[0]);
panel2.add(botoes[1]);
panel2.add(botoes[2]);
panel2.add(botoes[3]);
panel2.add(botoes[4]);
add(panel2);
setSize(740,415);
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent event){
if(event.getSource()==botoes[3]){
String nome=(texto[0].getText());
String senha=(texto[1].getText());
usuarioSenha objeto = new usuarioSenha();
objeto.openFile();
objeto.LerRegistro(nome,senha);
objeto.fecharArquivo();
dispose();
}
if(event.getSource()==botoes[0]){
verificar(1);
label[0].setText(String.format(bn.getString("Usuario")));
label[1].setText(String.format(bn.getString("Senha")));
}
if(event.getSource()==botoes[1]){
label[0].setText(String.format("Usuario"));
label[1].setText(String.format("Contraseña"));
}
if(event.getSource()==botoes[2]){
label[0].setText(String.format("User"));
label[1].setText(String.format("Password"));
}
}
}[/code]
observe que quando ele clica em ok, chama a tela abaixo que apenas verifica se usuario e senha existem
[code] import java.util.;
import java.io.;
// import java.lang.;
import javax.swing.;
public class usuarioSenha extends JFrame{
//private Formatter gravaTxt;
private Scanner lerTxt;
private JDialog d = new JDialog();
public void openFile()//esse metodo verifica se o arquivo esta td ok
{
try{
//aqui o lerTxt ja sabe q é nessa pasta que contem as informações de usuario e senha
lerTxt=new Scanner(new File("Usuario.texto"));
}
catch(SecurityException naoConectado){
System.out.println("Arquivo corrompido");
System.exit(1);
}
catch(FileNotFoundException naoEncontrado){
System.out.println("Arquivo nao encontrado");
System.exit(1);
}
}
public void LerRegistro(String nome,String senha){
Usuario usuario=new Usuario();//instaciando um objeto de usuario
System.out.println("Nome Usuario"+"\tSenha Usuario");//apenas vai imprimir pra fica mais facil de entender
try{
while(lerTxt.hasNext()){
usuario.setUsuario(lerTxt.next());//ler usuario
usuario.setSenha(lerTxt.next());//ler senha
//apenas imprimi o nome e senha corretos de usuario
System.out.printf("%s \t %s ",usuario.getUsuario(),usuario.getSenha());
}
}
catch(NoSuchElementException excecaoElemento){
System.out.println("Arquivo criado com defeito");
// lerTxt.close();
System.exit(1);
}
catch(IllegalStateException ilegalEstado){
System.out.println("Erro na leitura do arquivo");
//input.close();
System.exit(1);
}
//esta comparado nome/senha de usuario com nome/senha passado por parametro pra ver se é igual
if(usuario.getUsuario().equals(nome)&& usuario.getSenha().equals(senha))
{
dispose();
MenuPrincipal menu = new MenuPrincipal(this,true);
}
else{
JOptionPane.showMessageDialog(null,"\nAcesso negado","Erro",0);
}
}
public void fecharArquivo(){
if(lerTxt!=null){
lerTxt.close();
}
}
}[/code]
[code]
import javax.swing.;
import java.util.;
import java.awt.;
import java.awt.event.;
public class MenuPrincipal extends Login implements ActionListener{
private JRadioButton[] radio;
private JPanel[] panel;
private String[] dados ={"Cadastrar Veículo", "Locar Veículo", "Devolver Veículo", "Excluir Veículo",
"Consultar Veículo", "Efetuar Pagamento", "Cadastrar Cliente" };
private ButtonGroup group;
private JButton ok;
private JDialog d = new JDialog();
private JLabel[] imagem;
private JMenu file;
private JMenu view;
private JMenu edit;
private JMenu help;
private JMenuBar bar;
private ImageIcon[] icon;
private JFrame frame;
public MenuPrincipal(JFrame frame,boolean modal) {
// this.setModal(modal); aquii nao sei pq mais da erro quando tento compilar, por isso esta comentado
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e){
}
icon = new ImageIcon[9];
icon[0] = new ImageIcon("imagens/logo1.jpg");
icon[1] = new ImageIcon("imagens/ok.jpg");
icon[2] = new ImageIcon("imagens/cadastrar veiculo.jpg");
icon[3] = new ImageIcon("imagens/locar veiculo.jpg");
icon[4] = new ImageIcon("imagens/devolver veiculo.jpg");
icon[5] = new ImageIcon("imagens/excluir veiculo.jpg");
icon[6] = new ImageIcon("imagens/consultar veiculo.jpg");
icon[7] = new ImageIcon("imagens/pagamento.jpg");
icon[8] = new ImageIcon("imagens/cadastrar cliente.jpg");
JLabel logo = new JLabel(icon[0]);//adiciono a imagem como um JLabel
radio = new JRadioButton[7];
imagem= new JLabel[7];
panel = new JPanel[dados.length+1];
ok = new JButton(" Ok ", icon[1]);
group = new ButtonGroup();
Color acolor = new Color(0xDCDCDC);
Color color = new Color(0xDCDCDC);
file = new JMenu("File");
view = new JMenu("View");
edit = new JMenu("Edit");
help = new JMenu("help");
for(int i = 0; i < panel.length; i++){
panel[i] = new JPanel();
}
for(int i = 0; i < radio.length; i++){
radio[i] = new JRadioButton();
}
for(int i = 0; i < imagem.length; i++){
imagem[i]= new JLabel(icon[2+i]);
}
for(int i = 0; i < radio.length; i++){
imagem[i].setSize(30,30);
imagem[i].setLocation(30,15);
}
// criando panel com borda
for(int i = 1; i < panel.length; i++){
panel[i].setBorder(BorderFactory.createTitledBorder(dados[i-1]));
panel[i].setLayout(null);
}
setResizable(false);
bar = new JMenuBar();
setJMenuBar(bar);
bar.add(file);
bar.add(view);
bar.add(edit);
bar.add(help);
// criando panel sem borda;
panel[0].setBorder(BorderFactory.createLoweredBevelBorder());
panel[0].setLayout(null);
// criando tamanho dos paineis com borda (Tamanho padrão para todos)
for(int i = 1; i < panel.length; i++){
panel[i].setSize(220,60);
}
// criando tamanho dos JRadioButton (tamanho e localização padrão para todos)
for(int i = 0; i < radio.length; i++){
radio[i].setSize(20,15);
radio[i].setLocation(5,15);
}
ok.setSize(80,26);
ok.setLocation(460,450);
panel[1].setLocation(25,20);
panel[2].setLocation(25,80);
panel[3].setLocation(25,140);
panel[4].setLocation(25,200);
panel[5].setLocation(25,260);
panel[6].setLocation(25,320);
panel[7].setLocation(25,380);
for(int i = 0; i < radio.length; i++){
group.add(radio[i]);
}
// adicionando aos paineis de borda um radio button
for(int i = 0; i < radio.length; i++){
panel[i+1].add(radio[i]);
panel[i+1].add(imagem[i]);
}
for(int i = 1; i < panel.length; i++){
panel[0].add(panel[i]);;
}
for(int i = 1; i < panel.length; i+=2){
panel[i].setBackground(acolor);
}
logo.setSize(300,350);
logo.setLocation(250,50);
radio[0].addActionListener(this);
radio[1].addActionListener(this);
radio[2].addActionListener(this);
radio[3].addActionListener(this);
radio[4].addActionListener(this);
radio[5].addActionListener(this);
radio[6].addActionListener(this);
ok.addActionListener(this);
panel[0].add(ok);
panel[0].add(logo);
panel[0].setBackground(color);
add(panel[0]);
initialize();
}
public void initialize(){
this.setSize(600,550);
this.setVisible(true);
this.setTitle("MenuPrincipal");
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == radio[0]){
CadastrarVeiculo c = new CadastrarVeiculo(frame, true);
}
if(e.getSource() == radio[1]){
PesquisaNomeModelo pesquisa = new PesquisaNomeModelo(frame, true); //this, true
}
if(e.getSource() == radio[2]){
DevolucaoVeiculo devolucao = new DevolucaoVeiculo(frame, true);
}
if(e.getSource() == radio[3]){
ExcluirVeiculo excluir = new ExcluirVeiculo(frame, true);
}
if(e.getSource() == radio[4]){
ConsultarVeiculo veiculo = new ConsultarVeiculo(frame, true);
}
if(e.getSource() == radio[5]){
//BasePagamento pagamento = new BasePagamento(this, true);
DevolucaoVeiculo devolucao = new DevolucaoVeiculo(frame, true);
devolucao.setSize(600,550);
}
if(e.getSource() == radio[6]){
CadastrarCliente cliente = new CadastrarCliente(frame, true);
}
if(e.getSource() == ok){
System.exit(0);
}
}
}[/code]