package project;

import java.awt.Color;

import javax.swing.BorderFactory;
import javax.swing.InputVerifier;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.border.Border;

public class NumericVerifier extends InputVerifier {

	@Override
	public boolean verify(JComponent input) {
		String text=null;
		if (input instanceof JTextField ){
			text=((JTextField)input).getText();
			try {
				Integer.parseInt(text);
			}
			catch(NumberFormatException e){
				return false;
			}
		}
		return true;
	}
	
	
	@Override
	public boolean shouldYieldFocus(JComponent input) {
		Border oldBorder=null;
		boolean valid=verify(input);
		if (!valid){
			
			JOptionPane.showMessageDialog(null, "Invalid data!! Enter Numerical Value");
			oldBorder=input.getBorder();
			input.setBorder(new CustomBorder(1, Color.RED));
		}
		else input.setBorder(((RoundedTextField) input).getOriginalBorder());
		return valid;
		
		//return super.shouldYieldFocus(input);
	}

}
