ola galera
estou montado uma aplicacao usando como o layout de um jpanel o gridbaglayout,
até ai tudo bem!
será que alguém conhece um metodo que mapeie esses componentes,
eu queria algo que pudesse passar como parametros o gridx e o gridy
e me retornar o componente!
Por que vc não utiliza o posicionamento do layout em si, cria uma classe que reavalia o posicionamento do componemte filho no posicionamento do componente “mãe”, tipo …
mãe tem origem na 50 e filho na 30, então da mãe pra filha tem 20 …
falando em layout vc sabe me dizer como trabalho direito com layout null, tem algum tuto ou algo do genero ?
até mais
o null layout é o usado em aplicacoes em que a janela nao e dimensionavel, voce tem que usar o setbounds para posicionamento dos componentes
Você conseguiu fazer o que queria ?
bem eu tentei colokar o set bounds mas mesmo assim não esta funcionando corretamente, os componentes adicionados nem chegam a aparecer na tela mesmo com Set visible() e tudo … Esta se tornando um problema minha ideia de criar o codigo na mão estou quase fazendo por aquela barrinha feliz do netbeans
mas valew assim mesmo
o problema que eu ate poderia fazer isto que voce disse, só que nao posso porque as vezes tenho 1000 componente em um panel ou mais e se eu fizer um for para verificar os componentes ficara extremamente pesado pois as vezes posso ter que percorre-lo mais de 10000 vezes, ou seja 10000x1000 nao da!
voce esta usando um jframe?
se sim, antes de adicionar os componentes adicione esta linha:
seuframe.setLayout(null);
o fabio
estou montado uma aplicacao usando como o layout de um jpanel o gridbaglayout,
até ai tudo bem!
será que alguém conhece um metodo que mapeie esses componentes,
eu queria algo que pudesse passar como parametros o gridx e o gridy
e me retornar o componente!
Bem eu intendi o que você disse que poder faltar memoria pela uso ecessivo da classe, porém a do java terá o mesmo problema, será que é tão relevante assim a diferença, já que eu falei pora você fazer uma classe que pessa como parametros get X e Y assim você não vai fazer nada muito diferente do que a api faria …
velho … não top enxergando o que vc disse olha meu codigo por favor e ve se tem algo errado, já revisei mas sei lah
[code]package adsrbeta02;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Painel extends JFrame {
public Painel() {
JPanel principal = new JPanel();
JLabel p1 = new JLabel("Ambiente de Desenvolvimento de Software para Robótica (ADS-R)");
JLabel p2 =new JLabel("teste principal, versão 1");
// GridBagLayout gm=new GridBagLayout();
this.setBounds(100, 100, 800, 600);
this.setLayout(null);
this.setTitle("Painel principal");
this.add(principal);
principal.setBounds(100, 100, 800, 600);
principal.setBackground(Color.orange);
p2.setBounds(120, 120, 100, 50);
principal.add(p1);
principal.add(p2);
p1.setLocation(100, 100);
this.setVisible(true);
p1.setVisible(true);
principal.setVisible(true);
[/code]
quando tento setar a posição ele não me obedece
Cada componente tem a posição X, Y e o tamanho…
Dado dois x e y tu pode ir um por um pra ver se está na área do componente.
Mas por curiosidade, pq tu precisa disso?
o cara seu codigo nao tem erro, mas roda o que eu to te passando!
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Painel extends JFrame {
public Painel() {
JPanel principal = new JPanel();
JLabel p1 = new JLabel("Ambiente de Desenvolvimento de Software para Robótica (ADS-R)");
JLabel p2 =new JLabel("teste principal, versão 1");
// GridBagLayout gm=new GridBagLayout();
this.setBounds(100, 100, 800, 600);
this.setLayout(null);
this.setTitle("Painel principal");
this.add(principal);
principal.setBounds(100, 100, 800, 600);
principal.setBackground(Color.orange);
p2.setBounds(120, 120, 100, 50);
principal.add(p1);
principal.add(p2);
p1.setLocation(100, 100);
this.setVisible(true);
p1.setVisible(true);
principal.setVisible(true);
}
public static void main(String args[])
{
new Painel();
}
}
eu leu um arquivo e atraves deste monto em um painel um certo numero de label que pode ser muito grande,
posicionar os label na tela nao e problema, o problema é na hora de pega-los de volta, o getcomponet nao serve pq so se passa um parametro para ele e eu queria passa dois parametros para me retornar o componente o gridx e o gridy!
XD
continuou errado …
intendi o que vc quer, mas eu não sei …
como disse o máximo que pensei era …
[code]
classe{
contrutor(getX1,Y1mãe, get X2,Y2 filho){
this.x=x1 …
}
publico double retornarisso(){
return String ;
}
}[/code]
e na rpincipal, vc coloca um split da tividir o string em doubles novamente , bem velho vou sair do comp. espero ter ajudado …
flw