Cria Classe de textField

6 respostas
T

Olá pessoal, tenho que criar algumas classes de Fields, mas estou encontrando dificuldades. Minha maior dificuldade está sendo em deixar q o campo seja alterado o tamanho das colunas, vou ser mais claro, exemplo: Crei um textField de tamanho 10 que quando o usuário clica em cima ele altera a cor da letra e a cor do fundo. Quando quero herdar essa classe em um formulário, não consigo alterar o tamanho dessa field, algué sabe como faço? Outras dúvidas é em criar uma classe de field para que ele seja em formato data: dd/mm/aaaa. Alguém me ajude…

6 Respostas

R

faça a sua classe ser herdeiro do JTextField

class MeuTextField exteds JTextField

ai pra vc fazer que qndo o cara clica muda a cor, ja implementa o MouseListener

class MeuTextField extends JTextField implements MouseListener

e ai vc põe as mudanças no código da classe

T

Já alterei a cor do campo, o que não consigo fazer é que depois de criada essa classe, quando eu herdar em um formulário, possa alterar o tamanho dessa field!! Isso eu não estou conseguindo fazer!!!
:?:

D

posta o codigo da sua classe ai pra gente ver…

sera q vc naum deixou os seus atributos como private?!?! Para altera-lo nas classes herdadas eles tem q ser protected

J

“tcpthiago”:
Já alterei a cor do campo, o que não consigo fazer é que depois de criada essa classe, quando eu herdar em um formulário, possa alterar o tamanho dessa field!! Isso eu não estou conseguindo fazer!!!
:?:

Se vc tem uma classe que especializa JTextField tem como vc alterar o tamanho… pode ser que vc não esteja conseguindo por causa do layout onde vc o colocou…

J

“darkseid”:
posta o codigo da sua classe ai pra gente ver…

sera q vc naum deixou os seus atributos como private?!?! Para altera-lo nas classes herdadas eles tem q ser protected

O loco em… no mesmo minuto… :grin:

T

Tô usando o JBuilder 9 Enterpreise, aí vai o código!!!!

package br.com.sadepe.component;

import java.awt.*;
import com.borland.jbcl.layout.*;
import javax.swing.*;
import java.awt.event.*;


public class CampoFoco extends JPanel {
  XYLayout xYLayout1 = new XYLayout();
  JTextField txtCampoFoco = new JTextField();
  private javax.swing.event.TableColumnModelEvent coluna;

  public CampoFoco() {
    try {
      jbInit();
    }
    catch(Exception ex) {
      ex.printStackTrace();
    }
  }
  private void jbInit() throws Exception {
    this.setLayout(xYLayout1);
    txtCampoFoco.setText("");
    txtCampoFoco.addFocusListener(new CampoFoco_txtCampoFoco_focusAdapter(this));
    xYLayout1.setWidth(94);
    xYLayout1.setHeight(25);
    this.add(txtCampoFoco, new XYConstraints(2, 2, 88, -1));
  }

  void txtCampoFoco_focusGained(FocusEvent e) {
    txtCampoFoco.setBackground(Color.lightGray);
    txtCampoFoco.setForeground(Color.blue);
  }

  void txtCampoFoco_focusLost(FocusEvent e) {
    txtCampoFoco.setBackground(Color.white);
    txtCampoFoco.setForeground(Color.black);
  }
  public JTextField getTxtCampoFoco() {
    return txtCampoFoco;
  }
  public XYLayout getXYLayout1() {
    return xYLayout1;
  }
  public void setXYLayout1(XYLayout xYLayout1) {
    this.xYLayout1 = xYLayout1;
  }
  public void setTxtCampoFoco(JTextField txtCampoFoco) {
    this.txtCampoFoco = txtCampoFoco;
  }
  public javax.swing.event.TableColumnModelEvent getColuna() {
    return coluna;
  }
  public void setColuna(javax.swing.event.TableColumnModelEvent coluna) {
    this.coluna = coluna;
  }

}

class CampoFoco_txtCampoFoco_focusAdapter extends java.awt.event.FocusAdapter {
  CampoFoco adaptee;

  CampoFoco_txtCampoFoco_focusAdapter(CampoFoco adaptee) {
    this.adaptee = adaptee;
  }
  public void focusGained(FocusEvent e) {
    adaptee.txtCampoFoco_focusGained(e);
  }
  public void focusLost(FocusEvent e) {
    adaptee.txtCampoFoco_focusLost(e);
  }
}
Criado 29 de junho de 2004
Ultima resposta 29 de jun. de 2004
Respostas 6
Participantes 4