Como pausar uma aplicação de acordo com a interface grafica do progama?

14 respostas
S

Na interface gráfica do meu programa se clico no botão CADASTRAR SECRETÁRIO atribuo opçãoMenuDiretor=1 e assim por diante (opçãoMenuDiretor=2 e etc) para acessar o switch, só que antes de eu clicar no botão o programa já ta rodando no console e opçãoMenuDiretor fica igual a 0. Queria uma forma de pausar o programa para ele esperar eu clicar em um botão, para ai sim ele continuar. alguem pode me ajudar?

public class MenuDiretor extends javax.swing.JFrame {...
private static int opçãoMenuDiretor;
...

}

//na interface gráfica se eu clico no botão CADASTRAR SECRETÁRIO atribuo opçãoMenuDiretor=1 e assim por diante (opçãoMenuDiretor=2 e etc) para acessar o switch, só que antes de eu clicar no botão o programa já ta rodando no console e opçãoMenuDiretor //fica igual a 0. Queria uma forma de pausar o programa para ele esperar eu clicar em um botão, para ai sim ele continuar. e o programa fica repitindo o menu sem parar tipo em loop infinito... queria que o while esperasse pela interface gráfica. alguem pode me ajudar?

//	while(MenuDiretor.getOpçãoMenuDiretor()!=8){	
			
	                System.out.println("Menu do diretor");
			System.out.println("1-Cadastrar Secret�rio");
			System.out.println("2-Editar Secret�rio");                           // o programa fica repitindo o menu sem parar tipo em loop infinito... queria que o while esperasse pela interface gráfica.
			System.out.println("3-Cadastrar  professores");
			System.out.println("4-Editar  professores");
			System.out.println("5-Lista de professores");
			System.out.println("6-Lista de alunos por turma(media,frequencia e dados)");
			System.out.println("7-Cadastrar as turmas");
                        System.out.println("8-voltar");
			
switch(MenuDiretor.getOpçãoMenuDiretor()){
			
			case 1: 
				
                         diretor.cadastrarSecretario();

Estou tentando alinhar meu código com a interface gráfica…

14 Respostas

MaiqueL

Ola,

Você esta no caminho errado, para cada botao tem que acessar um evento é essa lógica que tu deve se preocupar.

exemplo

JButton butt = new JButton("Click me!");
butt.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
    // ... called when button clicked
  }
});
S
Amigo, mas como fazer o programa que roda no console rodar de acordo com o que se passa na interface gráfica? esse evento seria como? assim?
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
opçãoMenuPrincipal=1;
        // TODO add your handling code here:
        
        
        this.setEnabled(false);// desabilita tela atual para nao ser clicada
        
        // botao cadastrar pressionado
        
       // if()
       menuDiretor =new MenuDiretor(this);
        senhaDiretor=JOptionPane.showInputDialog("Entre com a senha sr diretor");
     
        // System.out.println("A entrada foi"+senha);
       
        //JOptionPane.showMessageDialog(null, "cadastro  realizado com sucesso. " + senha);   senha = new String(jPasswordField1.getPassword());

        //deu certo, agora colocar uma coisa para senha errada
      if(senhaDiretor.equals(telaAnterior.getSenha()))
      {
          menuDiretor.setVisible(true);
      }
      else
      {
       JOptionPane.showMessageDialog(null, "senha errada, tente novamente ");
       this.setEnabled(true);
       
      }
        
    }
MaiqueL
Sg5001:
Amigo, mas como fazer o programa que roda no console rodar de acordo com o que se passa na interface gráfica? esse evento seria como? assim?
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
opçãoMenuPrincipal=1;
        // TODO add your handling code here:
        
        
        this.setEnabled(false);// desabilita tela atual para nao ser clicada
        
        // botao cadastrar pressionado
        
       // if()
       menuDiretor =new MenuDiretor(this);
        senhaDiretor=JOptionPane.showInputDialog("Entre com a senha sr diretor");
     
        // System.out.println("A entrada foi"+senha);
       
        //JOptionPane.showMessageDialog(null, "cadastro  realizado com sucesso. " + senha);   senha = new String(jPasswordField1.getPassword());

        //deu certo, agora colocar uma coisa para senha errada
      if(senhaDiretor.equals(telaAnterior.getSenha()))
      {
          menuDiretor.setVisible(true);
      }
      else
      {
       JOptionPane.showMessageDialog(null, "senha errada, tente novamente ");
       this.setEnabled(true);
       
      }
        
    }

use esse pedaço de código que eu postei e veja o resultado..

[edit]explica melhor o que tu queh fazer, por exemplo são dois programas ou só um programa

ta meio estranho o que tu quer fazer não tem lógica
[edit/]

S
é apenas um programa, é o seguinte esse programa gerencia uma escola, eu terminei o código sem usar interface gráfica. agora eu to tentando colocar interface gráfica no meu código e estou com dificuldade, a principal é que quero que os dois codigos(o da interface grafica e o que fiz antes fiquem alinhados), quero que quando eu clicar em um botao a mesma coisa acontece com o programa no console. por isso quero pausar a aplicação, quero tipo "pausar para sincronizar" por que meu main (da classe princical que estava no console) está cheio de whiles e swicths
package Aplicativo;

import java.util.Scanner;
import telas.MenuDiretor;
import telas.MenuPrincipal;
import telas.TelaInicial;




public class TesteEscola {

	
	private static Scanner sc;

	public static void main(String[] args) 
	{
	
        TelaInicial telaInicial= new TelaInicial();
        telaInicial.setVisible(true);
        
        
    System.out.println("Digite o nome do Diretor ");
   sc = new Scanner(System.in);
   /*/ int cas;
    cas=sc.nextInt();
    System.out.println(cas);
        
            */
   
   
   while(telaInicial.getNome()==null){

   System.out.println("");
   }
   
   
              //  new MenuPrincipal().setVisible(true);
            
	// � MELHOR CRIAR UMA CLASSE MENU, FICA BEM MAIS ORIENT AO OBJ
		//ve se consegue criar um lista chamada escola que abrange todo as classes
		
	//arrumar o acesso qunado o secretario ainda nao ta cadastrado e quando a turma ainda nao ta cadastrada	
	
		
		sc = new Scanner(System.in);
		
		int oppMenuPrincipal=10;
		
		Diretor	diretor=new Diretor();
                Secretario  secretario = new Secretario();
	
	System.out.println("BEM VINDO AO PROGRAMA ESCOLA FUNDAMENTAL\nESSE � SEU PRIMEIRO ACESSO DIRETOR");
	System.out.println("DIGITE SEUS DADOS ANTES DO FUNCIONAMENTO DO PROGRAMA");	
	
		
		
		//System.out.println("Digite o nome do Diretor ");
		diretor.nome=telaInicial.getNome();
                
             //   System.out.println(telaInicial.getNome());
                
	       // System.out.println("Digite o cpf do Diretor ");
		diretor.cpf=telaInicial.getCpf();
                
              //  System.out.println(diretor.nome);
		//System.out.println("Digite a senha do diretor");
		diretor.senha=telaInicial.getSenha();
		//System.out.println("Digite o endere�o do diretor do Diretor ");
		//sc=new Scanner(System.in);
		//diretor.endereço=sc.nextLine();
		//System.out.println("Digite a data de nascimento no formato DD-MM-AAAA");
		diretor.data_nascimento=telaInicial.getDataNascimento();
		
		
                
	
	
	while(MenuPrincipal.getOpçãoMenuPrincipal()!=5) {	
		
		int oppMenuDiretor=10;
		int oppMenuSecretario=10;
		int oppMenuProfessor=10;
	
       
		
		System.out.println("Programa escola fundamental");
		System.out.println("1-Menu diretor");
		System.out.println("2-Menu secret�rio");
		System.out.println("3-Menu professor");
		System.out.println("4-Menu aluno");
		System.out.println("5-sair");
		
		
	//	oppMenuPrincipal=sc.nextInt();
		
		
		
		switch(MenuPrincipal.getOpçãoMenuPrincipal())
		{
		
		
		case 1:
			
			
		//criar um metodo para o primeiro acesso
	
		
			
			System.out.println("PARA ACESSAR SUA PARTE DO PROGRAMA DIGITE SUA SENHA SR DIRETOR");
			//String senha;
		//	senha=TelaInicial.getSenha();
                        
                    //    senha=sc.next();
			
			
			
			if(diretor.login(MenuPrincipal.getSenhaDiretor())==true) {
		while(MenuDiretor.getOpçãoMenuDiretor()!=8){	
				System.out.println("Menu do diretor");
			System.out.println("1-Cadastrar Secret�rio");
			System.out.println("2-Editar Secret�rio");
			System.out.println("3-Cadastrar  professores");
			System.out.println("4-Editar  professores");
			System.out.println("5-Lista de professores");
			System.out.println("6-Lista de alunos por turma(media,frequencia e dados)");
			System.out.println("7-Cadastrar as turmas");
                        System.out.println("8-voltar");
			
			//	int oppMenuDiretor=10; while(MenuDiretor.getOpçãoMenuDiretor()!=8){	
			//oppMenuDiretor=sc.nextInt();
			
			
			switch(MenuDiretor.getOpçãoMenuDiretor()){
			
			case 1: 
				//telaInicial.getNome();
                            //uuiaa
                                     
                           /*/
                            secretario.nome= telaInicial.getMenuPrincipal().getMenuDiretor().getNomeSe();   
                            secretario.cpf= telaInicial.getMenuPrincipal().getMenuDiretor().getCpfSe();
			    secretario.senha= telaInicial.getMenuPrincipal().getMenuDiretor().getSenhaSe();
                            secretario.data_nascimento= telaInicial.getMenuPrincipal().getMenuDiretor().getDataNascimentoSe();
                            */
                         diretor.cadastrarSecretario();
                          
                       //  System.out.println(diretor.getSecretario().nome);
                               
				
				break;
			
			    
			case 2:
				diretor.editarSecretario();
			/*	
                            secretario.nome= telaInicial.getMenuPrincipal().getMenuDiretor().getNomeSe();   
                            secretario.cpf= telaInicial.getMenuPrincipal().getMenuDiretor().getCpfSe();
			    secretario.senha= telaInicial.getMenuPrincipal().getMenuDiretor().getSenhaSe();
                            secretario.data_nascimento= telaInicial.getMenuPrincipal().getMenuDiretor().getDataNascimentoSe();
                            */
                                
				break;
			
				
			case 3: 
				
				Diretor.getLista_professor().add(diretor.cadastrarProfessor()); //vai retornar um objeto professor
				
				break;
			
			case 4:
				
				if(Diretor.getLista_professor().isEmpty())
				{
					System.out.println("N�O EXISTE PROFESSOR CADASTRADO");
					break;
				}
				diretor.editaProfessor();
				
				break;
				
			case 5:
				
				if(Diretor.getLista_professor().isEmpty())
				{
					System.out.println("N�O EXISTE PROFESSOR CADASTRADO");
					break;
				}
				
				diretor.listaProfessor();
				
				break;
				
			case 6:
				//tem que implementar ainda
				break;
				
				
			case 7:
				diretor.cadastrarTurma();
				
				break;
				
			case 8:
				System.out.println("voltandoo");
				break;	
				
			 default:
			System.out.println("op��o errada, digite novamente");	
			break;
			              } //chave do switch que est� dentro do swtich 1
			                                             }//if da autentica��o
			
			} // while do case 1	
		      
			break; // primeiro switch
				
			
		case 2: 
			
                if(diretor.getSecretario()==null){
				
				System.out.println("N�O EXISTE SECRET�RIO CADASTRADO");
			} 
			
                
                else{
                
			System.out.println("PARA ACESSAR SUA PARTE DO PROGRAMA DIGITE SUA SENHA SR SECRET�RIO");
		//	senha=sc.next();
			
			//n�o deixar cadastrar aluno se nao existir turma cadastrada
				
			
			if(diretor.getSecretario().login(MenuPrincipal.getSenhaSecretário())==true){
				while(oppMenuSecretario!=4){
			System.out.println("Menu do secretario");
			System.out.println("1-Cadastrar aluno");
			System.out.println("2-Editar aluno");
			System.out.println("3-vincular professor em turma");
			System.out.println("4-voltar)");
			
			oppMenuSecretario=sc.nextInt();
			switch(oppMenuSecretario)
			{
			
			case 1:      
				
				//melhorar essa parte do codigo, se a turma nao tiver cadastrada mostrar antes de digitar os dados
				
				int tamanho1=0, tamanho2=0, tamanho3=0,tamanho4=0, tamanho5=0;
				
				
				if(diretor.getTurma1()!=null )
				{tamanho1=diretor.getTurma1().getTamanho();}
				if(diretor.getTurma2()!=null )
				{tamanho2=diretor.getTurma2().getTamanho();}
				if(diretor.getTurma3()!=null )
				{tamanho3=diretor.getTurma3().getTamanho();}
				if(diretor.getTurma4()!=null )
				{tamanho4=diretor.getTurma4().getTamanho();}
				if(diretor.getTurma5()!=null )
				{tamanho5=diretor.getTurma5().getTamanho();}
				
diretor.getSecretario().cadastrarAluno(tamanho1, tamanho2, tamanho3,tamanho4, tamanho5);		
				
		
				           
				break;
				
			case 2:
if(diretor.getSecretario().getLista_alunos1().isEmpty()||diretor.getSecretario().getLista_alunos2().isEmpty()||diretor.getSecretario().getLista_alunos3().isEmpty()||diretor.getSecretario().getLista_alunos4().isEmpty()||diretor.getSecretario().getLista_alunos5().isEmpty())
				{
	
	diretor.getSecretario().editarAluno();
					
					
				}
else {
	System.out.println("N�O EXISTE NENHUM ALUNO CADASTRADO");
	
	
}
				
				
				break;
				
            case 3: 
            	
            	if(diretor.getLista_professor().isEmpty()){
    				
    				System.out.println("N�O EXISTE PROFESSOR CADASTRADO");
    				break;
            	}
            	
            	diretor.getSecretario().getLista_professorAux().addAll(diretor.getLista_professor());
            	diretor.getSecretario().vincularProfessor(diretor.getLista_professor().size());
            	diretor.getLista_professor().clear();
            	diretor.getLista_professor().addAll(diretor.getSecretario().getLista_professorAux());
            	diretor.getSecretario().getLista_professorAux().clear();
            	
            
            
				break;
				
			case 4:
				         System.out.println("voltandoo");
				break;	
				
			default:
				System.out.println("digitou errrado, repita por favor");
				break;
			
			
			}//switch

				}//if autentica��o
				}// if que verifica se tem secretario cadastrado 
			
			}//while
			
			
			
			
			
        break;
       
        
		case 3:

			if(diretor.getLista_professor().isEmpty()){
				
				System.out.println("N�O EXISTE PROFESSOR CADASTRADO");
				break;
			} 
			
			
			while(oppMenuProfessor!=6){
			for(int i=0;i<diretor.getLista_professor().size();i++)
			{//esse login funciona, s&#65533; precisa melhorar para n&#65533;o repitir os nomes e colocar q precisa cadastrar antes de usar
				
				System.out.println("Digite seu nome sr professor");
				String nomeProfessor=sc.nextLine();
				
				System.out.println("Digite sua senha");
if(nomeProfessor.equals(diretor.getLista_professor().get(i).nome)&& diretor.getLista_professor().get(i).login(sc.next())==true)
{
	
	System.out.println("Menu professor");
	System.out.println("1-Inserir nota");
	System.out.println("2-Editar nota");
	System.out.println("3-inserir frequencia");
	System.out.println("4-editar frequencia");
	System.out.println("5-buscar aluno");
	System.out.println("6-voltar");

	
	oppMenuProfessor=sc.nextInt();
	switch(oppMenuProfessor)
	{
	
	case 1 :
		
		diretor.getSecretario().colocarEditarNota();
		
		break;
	case 2 :
		diretor.getSecretario().colocarEditarNota();
		break;
	case 3 :
		
		diretor.getSecretario().colocarEditarFrequencia();
		
		break;
	case 4 :
		diretor.getSecretario().colocarEditarFrequencia();
		break;
	case 5 :
		diretor.getSecretario().detalharAluno();
		break;
	case 6 :
		System.out.println("voltandoo");
		break;

	default :
		System.out.println("Digitou errado, repita");
		break;
	
	
	
	}
	
}
				
			}
			
			}
			
			
			
			break;
		case 4:
			System.out.println("Menu aluno");
			System.out.println("1-verificar nota");
			System.out.println("2-verificar frequencia");
			System.out.println("3-editar senha");
			System.out.println("4- voltar");
		
			break;
			
			
			
		case 5:
			System.out.println("saindoo");
			
			break;
		
			
			
			default: 
				System.out.println("digitou errrado, repita por favor");
				break;
	
		
			
			}
		
		
		
		
		
	}//chave do primeiro while
		
		
		
		
		
	}

}
MaiqueL

Como eu imaginei a lógica do teu programa esta errada, mas no inicio é normal este tipo de confusão

trate os eventos da janela dentro da janela e não no console.

por exemplo dentro da classe Tela ficara assim

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

import javax.swing.JButton;

class Tela extends JFrame{
	// para cada botao tera um atributo botao
	private JButton butt;

	public Tela() {
		butt = new JButton("Click me!");
		JButton butt = new JButton("Click me!");
		butt.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				// ... aqui fica a logica que esta relacionada ao botao  
	    		//exemplo
	    		SenhaDiretor=JOptionPane.showInputDialog("Entre com a senha sr diretor");  
	  	
			}
		});
	}

}

[]`s

S
Tinha feito assim, to usando o netbeans
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package telas;

import javax.swing.JOptionPane;

/**
 *
 * @author silas
 */
public class MenuPrincipal extends javax.swing.JFrame {

    /**
     * Creates new form MenuPrincipal
     */
    
     private TelaInicial telaAnterior;
     private MenuDiretor menuDiretor;
private static int opçãoMenuPrincipal;
private static String senhaDiretor, senhaSecretário;

    public static String getSenhaSecretário() {
        return senhaSecretário;
    }

    public static String getSenhaDiretor() {
        return senhaDiretor;
    }

    public static int getOpçãoMenuPrincipal() {
        return opçãoMenuPrincipal;
    }
    public MenuDiretor getMenuDiretor() {
        return menuDiretor;
    }
    private MenuPrincipal() {
        initComponents();
    }

    public MenuPrincipal(TelaInicial telaAnterior)
    {
    //para chamar construtor padrao
        this();
        this.telaAnterior=telaAnterior;
    }
    /**
     * 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();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Escola Ensino Fundamental");

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        jLabel1.setText("Menu Principal");

        jButton1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jButton1.setText("Area do diretor");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jButton2.setText("Area do secretário");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jButton3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jButton3.setText("Area do professor");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jButton4.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jButton4.setText("Area do alunor");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        jButton5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        jButton5.setText("Sair");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(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()
                .addGap(70, 70, 70)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 184, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(jButton1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jButton4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jButton3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jButton2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(54, 54, 54)
                        .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(527, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(73, 73, 73)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(33, 33, 33)
                .addComponent(jButton1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton4)
                .addGap(73, 73, 73)
                .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(112, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        System.exit(0);
        
    }                                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
opçãoMenuPrincipal=1;
        // TODO add your handling code here:
        
        
        this.setEnabled(false);// desabilita tela atual para nao ser clicada
        
        // botao cadastrar pressionado
        
       // if()
       menuDiretor =new MenuDiretor(this);
        senhaDiretor=JOptionPane.showInputDialog("Entre com a senha sr diretor");
     
        // System.out.println("A entrada foi"+senha);
       
        //JOptionPane.showMessageDialog(null, "cadastro  realizado com sucesso. " + senha);   senha = new String(jPasswordField1.getPassword());

        //deu certo, agora colocar uma coisa para senha errada
      if(senhaDiretor.equals(telaAnterior.getSenha()))
      {
          menuDiretor.setVisible(true);
      }
      else
      {
       JOptionPane.showMessageDialog(null, "senha errada, tente novamente ");
       this.setEnabled(true);
       
      }
        
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
       
        if(MenuDiretor.getNomeSe()==null &&MenuDiretor.getCpfSe()==null&&MenuDiretor.getSenhaSe()==null&&MenuDiretor.getDataNascimentoSe()==null)
        {
        
        JOptionPane.showMessageDialog(null, "Não existe secretário cadastrado ");
        }
        else{  
        opçãoMenuPrincipal=2;
        
        this.setEnabled(false);// desabilita tela atual para nao ser clicada
        
        // botao cadastrar pressionado
       
        
        MenuSecretário menuSecretário =new MenuSecretário(this);
        
        
        
        senhaSecretário=JOptionPane.showInputDialog("Entre com a senha sr secretário");
     
        
     
        
        if(senhaSecretário.equals(telaAnterior.getSenha()))//colocar a senha do secretario aki
      {
          menuSecretário.setVisible(true);
      }
      else
      {
       JOptionPane.showMessageDialog(null, "senha errada, tente novamente ");
       this.setEnabled(true);
       
      }
        }
        
        
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        opçãoMenuPrincipal=3;
        this.setEnabled(false);// desabilita tela atual para nao ser clicada
        
        // botao cadastrar pressionado
        new MenuProfessor(this).setVisible(true);
    }                                        

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        opçãoMenuPrincipal=4;
        this.setEnabled(false);// desabilita tela atual para nao ser clicada
        
        // botao cadastrar pressionado
        new MenuAluno(this).setVisible(true);
    }                                        

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(MenuPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(MenuPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(MenuPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MenuPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MenuPrincipal().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration                   
}
MaiqueL

É ta no caminho é só manter a lógica dos botões dentro dos eventos dos botões.

Se tiver alguma duvida ainda posta o código e explica onde esta a duvida.

S

O amigo, como faço pra q tudo q eu faça na interface, aconteça no console? isso é aconselhavel? e essa parte do codigo

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
                                                                                opçãoMenuPrincipal=1;  //----------------->>>>> isso é aconselhável? to fazendo isso pq na hora q clico no botão, é como se digitasse 1 no console (na opção do switch case) e acompanhasse o que estou fazendo na interface...
        // TODO add your handling code here:
        
        
        this.setEnabled(false);// desabilita tela atual para nao ser clicada
        
        // botao cadastrar pressionado
        
       // if()
       menuDiretor =new MenuDiretor(this);
        senhaDiretor=JOptionPane.showInputDialog("Entre com a senha sr diretor");
MaiqueL

vc esta utilizando linux??

S

windows e to utilizando o netbeans

MaiqueL
Sg5001:
O amigo, como faço pra q tudo q eu faça na interface, aconteça no console? isso é aconselhavel? e essa parte do codigo
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
                                                                                opçãoMenuPrincipal=1;  //----------------->>>>> isso é aconselhável? to fazendo isso pq na hora q clico no botão, é como se digitasse 1 no console (na opção do switch case) e acompanhasse o que estou fazendo na interface...
        // TODO add your handling code here:
        
        
        this.setEnabled(false);// desabilita tela atual para nao ser clicada
        
        // botao cadastrar pressionado
        
       // if()
       menuDiretor =new MenuDiretor(this);
        senhaDiretor=JOptionPane.showInputDialog("Entre com a senha sr diretor");

O que vc quer fazer não é muito comum.

O problema é que você teria que sincronizar dois processos.

eu perguntei se vc utilizava o linux pq no linux vc poderia utilizar um fifo mas no windows nao tem como utilizar fifo.

Eu não conheço uma forma fácil de explicar que sincronize dois processos o console e o evento do JButton

tente focar em utilizar os eventos e esqueça o console.

Caso deseje muito utilizar o console pesquise sobre pipes em JAVA esta é a solução que me parece mais fácil(mas mesmo assim não é trivial)

S

Ta certo, e as coisas do main? deixo como está? aquela parte dos menus, que está cheio de switch case, pode ficar do jeito que está? minha duvida é porque está cheio de métodos em varias classes do programa, ai pensei que seria necessario sincronizar o console com a interface, já que antes o programa estava sendo feito só para ser usado no console…

MaiqueL

Tira tudo do main deixa só a instância da classe que é a interface o resto tu tera que montar a lógica equivalente dentro dos eventos dos botões.

S

Ta certo amigo, valeu mesmo… ruim vai ser começar tudo de novo :frowning:

Criado 21 de outubro de 2012
Ultima resposta 21 de out. de 2012
Respostas 14
Participantes 2