if@ok

Should check if string contains @
 avatar
unknown
java
4 years ago
2.5 kB
14
Indexable
package graficos;

  import javax.swing.*;

  

  import java.awt.event.*;
  
  import java.awt.*;
public class FocoEvento {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		MarcoFoco miMarco = new MarcoFoco();
		
		miMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

}

class MarcoFoco extends JFrame{
	
	public MarcoFoco() {
		
		this.setBounds(300,300,500,500);
		
		this.setVisible(true);
		
		
		this.add(new LaminaFoco());
		
		
	}
}

class LaminaFoco extends JPanel{
	
	public void paintComponent(Graphics g) {
		
		super.paintComponent(g);
		
		this.setLayout(null);//con esto se pueden posicionar los campos donde se requiera
		
		cuadro1 = new JTextField();
		
		cuadro2 = new JTextField();
		
		cuadro1.setBounds(120, 10, 150, 20);
		
		cuadro2.setBounds(120, 50, 150, 20);
		
		this.add(cuadro1);
		
		this.add(cuadro2);
		
		
		LanzaFocos elFoco = new LanzaFocos();
		
		cuadro1.addFocusListener(elFoco);
		
	} 
	
	private class LanzaFocos implements FocusListener{

		@Override
		public void focusGained(FocusEvent e) {
			// TODO Auto-generated method stub
		
			
		}

		@Override
		public void focusLost(FocusEvent e) {
			// TODO Auto-generated method stub
			
			String email = cuadro1.getText();
			
			boolean comprobacion = false;
			
			for(int i=0;i<email.length();i++) {
				
				if(email.charAt(i)=='@'){
					
					comprobacion = true;
					
				}
				
				
			}
			
			
			if(comprobacion == true){
				
				System.out.println("Correct");
			}else {
				
				System.out.println("Incorrect");
			}
			
			
			
		}
			
	 }
	
	/* 
	 * ¿porque se ha declarado la variable fuera del método paintComponent
	 *y luego instanciado esas variables dentro del método paintComponent?:
	 *por tema de ambito de variables se va a necesitar acceder a estas variables
	 *objeto perteneciente a JTextField desde otros metodos diferentes
	 *de paint Componen, si se hubieran declarado dentro de paintComponent
	 *tendrían un ambito local, valdrían solamente dentro del método paintComponent
	 *y si fuera a acceder a cuadro1 y cuadro2 desde fuera de paintComponent no podría 
	 *hacerlo por su ambito local,
	 *sin embargo al declararlas fuera del metodo paintComponent pero dentro de la clase
	 *el ambito es ámbito de la clase
	 *siempre que esté dentro de la clase LaminaFoco
	 */
	
	
	
	JTextField cuadro1;
	
	JTextField cuadro2;
	
	
}
Editor is loading...