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…
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
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!!!
:?:
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
[quote=“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!!!
:?:[/quote]
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…
[quote=“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[/quote]
O loco em… no mesmo minuto…
Tô usando o JBuilder 9 Enterpreise, aí vai o código!!!
[code]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);
}
}[/code]