Interface Grafica - Posicionamento

1 resposta
M

Pessoal,

Preparei o seguinte classe abaixo, porém não consigo posicionar os botoes em qualquer lugar dentro do frame. Tentei a propriedade setLocation dele, porém não consigo alterar este posicionamento.
Alguem sabe pque ?
Obrigado.

private TextField txtTeste;

private Button btTeste;

private Button btTest2;
//Construtor

public frameDemo3 () {

super (Componentes Basicos);

setLayout (new FlowLayout());

setSize(300,100);

setLocation(100,100);

this.setBackground( new Color(0,100,100));

setLayout (new FlowLayout()); btTeste = new Button(Botao1);

btTest2 = new Button(Botao2); add(btTeste);

add(btTest2);

}
public void actionPerformed(ActionEvent e){

btTest2.setLocation(120,300);}

}
static public void main (String args []){

frameDemo3 f = new frameDemo3();

f.addWindowListener(new CloseWindowAndExit ());

f.show();

}

1 Resposta

S

usa o GridBagLayout… fica assim:

private TextField txtTeste;

private Button btTeste;

private Button btTest2;
//Construtor

public frameDemo3 () {

super (Componentes Basicos);

GridBagLayout grid = new GridBagLayout();

GridBagConstraints c = new GridBagConstraints();

setLayout (grid);

setSize(300,100);

setLocation(100,100);

this.setBackground( new Color(0,100,100));

//no GridBagLayout vc adiciona os componentes como se estivessem em uma tabela (como no excel) entao vc especifica uma coordenada x e y:

c.gridx = 2; //coordenada x do componente

c.gridy = 2;//coordenada y do componente

grid.setConstraints(c,btTeste);//nada de mais é só decorar essa linha

btTeste = new Button(Botao1);

add(btTeste);
c.gridx = 3; //coordenada x do componente

c.gridy = 2;//coordenada y do componente

grid.setConstraints(c,btTeste);//nada de mais é só decorar essa linha

btTest2 = new Button(Botao2);

add(btTest2);

}

escolhi colocar um botao ao lado do outro, mas vc pode colocar onde quiser. é só alterar as coordenadas (c.gridx, c.gridy)

Criado 13 de agosto de 2006
Ultima resposta 13 de ago. de 2006
Respostas 1
Participantes 2