JPanel[] paine;
for(int i = 0; i < 10; i++) {
paine[i] = new JPanel();
}
Acredito que seja assim!
Abraços!
BrunoBastosPJ
Eu apostaria que isso não é possível… O que você pode fazer se quiser controlar pelo nome, é fazer um factory qualquer e quando criar um JPanel passar o nome no contrutor… Mas não sei onde isso vai ser aplicado.
BrunoBastosPJ
“felipelo”:
tenta usar vetor pra fazer isso!
JPanel[] paine;
for(int i = 0; i < 10; i++) {
paine[i] = new JPanel();
}
Acredito que seja assim!
Abraços!
Exception in thread main ArrayIndexOutOfBoundsException
R
rodrigomaiaPJ
Ei bruno,
mas neste dispara da exception porque não foi instancia o array…
de qualquer forma, o autor do topico disse que não quer usar array…
[]'s
B
BrunoCarloPJ
Ola,
Se vc tiver os paineis declarados na sua classe vc pode usar reflection…
assim:
Field[] panels = this.getClass().getDeclaredFields();
for (Field field : panels) {
if (!field.getName().startsWith("panel"))
continue;
JPanel panel = (JPanel) field.getType().newInstance();
field.set(this,panel);
}
}
S
sergiotabordaPJ
Criar N paineis com nome “panelN” e localizá-los depois, sem usar arrays
// criação Map<String,JPanel>mapPaneis=newHashMap<String,JPanel>();for(int=0;i<N;i++){JPanelpanel=newJPanel();panel.setName("painel"+i);mapPaneis.put(panel.getName(),panel);}// para obter o painel depois JPanelpanel=mapPaneis.get("painel2");// retorna o painel 2
N
NewbieJavaPJ
Acho que vi algum exemplo parecido com isso:
for(inti=0; i < X; i++)Buttonb=newButton("Button"+i);