GridBagLayout

2 respostas
B

To com um problema
preciso de usar GridBagLayout
na minha classe JInternalFrame

e esta dando o seguinte erro

C:WINDOWSDesktopControle_Salome>javac FrameMotorista.java

FrameMotorista.java:237: addComponent(java.awt.Component) in FrameMotorista cann

ot be applied to (javax.swing.JFormattedTextField,int,int,int,int)

addComponent(tcnhregistro,0 ,0 , 2, 1);

^

2 Respostas

jcranky

Posta o código da linha 237 da sua classe FrameMotorista para ficar mais fácil entender o problema.

fenrir
"BomBer_Rp":
FrameMotorista.java:237: addComponent(java.awt.Component) in FrameMotorista cann ot be applied to (javax.swing.JFormattedTextField,int,int,int,int) addComponent(tcnhregistro,0 ,0 , 2, 1); ^

Essa mensagem diz claramente qual é o erro: você está tentando acessar um método que não existe! O que seriam esses "0, 0, 2, 1"?!?

Como você está tentando usar um GridBagLayout, imagino que esses números sejam algum parâmetro dele. Isso está incorreto. Para usar esse layout, existe a classe GridBagConstraints, que guarda todos os parâmetros que o layout deve usar para esse componente.

Exemplo (não testado, pode ter erros! Mas serve para ter uma idéia):
getContentPane().setLayout(new GridBagLayout()); 
GridBagConstraints c = new GridBagConstraints();

c.fill = GridBagConstraints.BOTH;
c.weightx = 1.0;
c.anchor = GridBagConstraints.NORTHEAST;
c.gridwidth = GridBagConstraints.REMAINDER;
c.insets = new Insets(5, 0, 0, 3);
getContentPane().add(new JLabel("teste 1"), c);

c.anchor = GridBagConstraints.SOUTHEAST;
c.gridwidth = GridBagConstraints.REMAINDER;
c.insets = new Insets(0, 0, 0, 3);
getContentPane().add(new JLabel("teste 2"), c);
Criado 7 de setembro de 2004
Ultima resposta 8 de set. de 2004
Respostas 2
Participantes 3