Deixar campos em vermelho?

5 respostas
L

Pessoal , como posso deixar meus campo em vermelho tenhu

um botão "cosistir " que ira ativar o vermelho caso ele esteja nulo ou seja vazio,procurei mas não achei nehum exemplo…

agradeço desde já!!!

5 Respostas

lina

Oi,

Pintar o fundo do componente:

<campo>.setBackground(Color.RED);

Pintar a borda ou o label:

<campo>.setForeground(Color.RED);

Tchauzin!

WendersonLP

Caso seja JTextField,

jTextField_exemplo.setBackground(Color.RED);

Creio que isso deva resolver, mas caso seja outro componente e não JTextField, possa ser que seja
parecido com esse.

Até mais…

pispico

Acredito que nesse caso seja necessário um JavaScript para que ao clicar no botao caso exista algum campo vazio, eles ficarão em vermelho.
Tenho um js para avisar qual campo esta null, veja se vc consegue adapta-lo.

function checkrequired(which) {
  var pass=true;
  for (i=0;i<which.length;i++) {
    var tempobj=which.elements[i];
    if (tempobj.name.substring(0,8)=="required") {
      if (((tempobj.type=="text"||tempobj.type=="textarea")&&
          tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
          tempobj.selectedIndex==0)) {
        pass=false;
        break;
      }
    }
  }
  if (!pass) {
    shortFieldName=tempobj.name.substring(8,30).toUpperCase();
    alert("The "+shortFieldName+" field is a required field.");
    return false;
  } else {
  return true;
  }
}
L

pessoal obrigado pelos dados ....

tentei fazer assim mas não certo olha como ficou

private void btnConsistirActionPerformed(java.awt.event.ActionEvent evt) {
    		  
    		   class PJTextField {
    				
    				private static final long serialVersionUID = 1L;

    				private void destaca(){
    					txtCodigo.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
    					txtCodigo.setBackground(Color.RED);
    			    }
    			    
    			    private void normaliza(){
    			          JTextField jTextField = new JTextField();
    			          txtCodigo.setBackground(jTextField.getBackground());
    			          txtCodigo.setBorder(jTextField.getBorder());

    			    }
    			    
    			    public String gettxtCodigo(){
    			    	if(txtCodigo.getText().equals("")){
    			    		destaca();
    			            return null ;
    			    	}
    			    	return txtCodigo.getText();
    			    }
    			        
    			   // public String txtCodigo.getText(){
    			       //   if(super.txtCodigo.getText().equals("")){
    			             //   destaca();
    			             //   return null;
    			         // }
    			        //  return super.txtCodigo.getText();
    			    //}

    			 
    			        
    			    
    			   // final PJTextField txtCodigo = new PJTextField();
    			   // final PJTextField txtNomeSegurado = new PJTextField();
    			     
    			    
    			    	@SuppressWarnings("unused")
						private void addKeyListener(final KeyAdapter keyAdapter) {
    			    		this.addKeyListener(new KeyAdapter(){
      			              public void keyPressed(KeyEvent e){
      			                    normaliza();
      			                    
      			              }
      			        
      			        });
      			        
      			    						
					

    			    	
    			               // String txtCodigo = txtCodigo.getText();
    			                //String  txtNomeSegurado1 = txtNomesegurado.getText();
    			                
    			               // Object txtNomeSegurado = null;
    							if(txtCodigo != null && txtNomesegurado != null){

    			                      JOptionPane.showMessageDialog(null, txtCodigo + "\n" + txtNomesegurado);

    			                } else{

    			                      String eString = "O(s) campo(s) destacado(s) é(são) obrigatório(s).";

    			                      JOptionPane.showMessageDialog(null, eString);
    			                
    			                }
    			    
    			    
    		   
    		   // TODO add your handling code here:
    	    }
         
    		   }
    }
JavaFXMan

Eu tenho uma classe que herda JTextField e nela eu tenho um atributo chamado de obrigatorio. Quando o campo perde o foco ele verifica se esse atributo está marcado com true, se for true e o campo não estiver preenchido ele coloca o campo com a borda em vermelho. Abaixo segue a classe:

public class SeedJTextField extends JTextField {

    private boolean obrigatorio;
    
    public SeedJTextField() {
        initComponents();
    }

    
    private void initComponents() {
        this.addFocusListener(new java.awt.event.FocusAdapter() {

            @Override
            public void focusLost(java.awt.event.FocusEvent evt) {
                if (isObrigatorio() && getText().equals("")) {
                    setRedBorder();
                } else {
                    setNormalBorder(evt);
                }
            }
        });
        
    }

    private void setRedBorder() {
        this.setBorder(new LineBorder(Color.RED));
    }

    private void setNormalBorder(FocusEvent evt) {
        JTextField text = new JTextField();
        this.setBorder(text.getBorder());
        this.setBackground(new java.awt.Color(255, 255, 255));
    }

    public boolean isObrigatorio() {
        return obrigatorio;
    }

    public void setObrigatorio(boolean obrigatorio) {
        this.obrigatorio = obrigatorio;
    }
}

Dei uma alterada na classe porque a original tem muito código. Mas essa daí já funciona.

abraço.

Criado 29 de julho de 2010
Ultima resposta 29 de jul. de 2010
Respostas 5
Participantes 5