nada contra este codigo
para ficar mais bonito nesta parte
coloca assim
o erro provavelmente está aqui
de onde veio tela?
troque pelo painel que vem por parametro no getNome
provavelmente vc fez assim
JPanel tela = new JPanel();
e ai que esta a pergunta.
por que não entra no if ??
a resposta é simples, vc nao tem nem um botão no tela para entrar no if
fiz as modificações conforme tu disseste mas ele continua pulando para o else
o codigo agora esta assim[code]public ArrayList getNome(JPanel painel){ // no painel vc passa o painel que contem os botoes
this.pan=painel;//faço o painel recebe o painel q add os botoes na tela
Component[] componentes = pan.getComponents();
String classe;
ArrayList<Object>lista=new ArrayList<Object>();
for (int contador = 0; contador < componentes.length; contador++) {
classe = componentes[contador].getClass().getName();
System.out.println("classe "+classe);
try {
if (classe.contains("JButton")) {
for(int i=0;i<b.length ;i++) // procure uma forma de retornar o numero de objetos dentro do vetor
{ lista.add(i, ((JButton) componentes[contador]).getText() );
lista.add(i, ((JButton) componentes[contador]).getText());
System.out.println(lista.get(i) +"*"+i); }
System.out.println("no if");
}
else
{
System.out.println("bah!");
}
}
catch (Exception e) {
System.out.println("erro :"+e);
}
}
return lista;
}[/code]
e no console fica assim
classe BotaoModulo
bah!
classe BotaoModulo
bah!
classe BotaoModulo
bah!
classe BotaoModulo
bah!
classe BotaoModulo
bah!
classe BotaoModulo
bah!
classe BotaoModulo
bah!

esqueci mais alguma coisa?
ah e pan é a variavel do tipo JPanel que eu criei no inicio da classe e é onde estou adicionando os botões
ah agora falta fazer o bloco de codigo do if ser executado neh? :lol: para que eu possa pegar o texto do joptionpane de cada botao
:lol:
muito obg pela ajuda
e pelas explicações
bah to aprendendo muitas coisas:)
uma pergunta
vc está usando o JButton da propria JDK
ou vc fez um botão personalizado herdando do JButton??
troque seu codigo por este
# public ArrayList<Object> getNome(JPanel painel){ // no painel vc passa o painel que contem os botoes
#
# this.pan=painel;//faço o painel recebe o painel q add os botoes na tela
# Component[] componentes = pan.getComponents();
# String classe;
# ArrayList<Object>lista=new ArrayList<Object>();
# for (int contador = 0; contador < componentes.length; contador++) {
# classe = componentes[contador].getClass().getName();
# System.out.println("classe "+classe);
# try {
# if (classe.contains("JButton")) {
# System.out.println("Jbutton da JDK");
# }
# if (classe.contains("BotaoModulo")) {
# System.out.println("Jbutton personalizado");
# }
else{
System.out.println("nem um jbutton encontrado");
# }
#
# }
# catch (Exception e) {
# System.out.println("erro :"+e);
# }
#
# }
# return lista;
#
# }
para algum desavisado que venha a ler este topico e usar o codigo por favor tire o # porque com eles o codigo nao funcionará, eu to com preguiça de tirar
eu fiz uma classe que cria botões personalizados e que herda do JButton
ah troquei o codigo e tipo agora no console so aparece
classe BotaoModulo
Jbutton personalizado
classe BotaoModulo
Jbutton personalizado
classe BotaoModulo
Jbutton personalizado
classe BotaoModulo
Jbutton personalizado
classe BotaoModulo
Jbutton personalizado
classe BotaoModulo
Jbutton personalizado
classe BotaoModulo
Jbutton personalizado
dai fiz o seguinte
if (classe.contains("BotaoModulo")) {
System.out.println("Jbutton personalizado");
for(int i=0;i<b.length ;i++) // procure uma forma de retornar o numero de objetos dentro do vetor
{ lista.add(i, ((JButton) componentes[contador]).getText() );
lista.add(i, ((JButton) componentes[contador]).getText());
System.out.println(lista.get(i) +"*"+i); }
}
e o console ficou assim
classe BotaoModulo
Jbutton personalizado
*0
*1
*2
*3
*4
*5
*6
classe BotaoModulo
Jbutton personalizado
*0
*1
*2
*3
*4
*5
*6
classe BotaoModulo
Jbutton personalizado
*0
*1
*2
*3
*4
*5
*6
classe BotaoModulo
Jbutton personalizado
*0
*1
*2
*3
*4
*5
*6
classe BotaoModulo
Jbutton personalizado
*0
*1
*2
*3
*4
*5
*6
classe BotaoModulo
Jbutton personalizado
*0
*1
*2
*3
*4
*5
*6
classe BotaoModulo
Jbutton personalizado
*0
*1
*2
*3
*4
*5
*6
ja ta melhor um pouco neh 
kkkkkkkkkkkkkkkkkk
era essa resposta que eu queria
vc entendeu pq nunca entro no IF ne??
preciso comentar mais alguma coisa ou vc da conta sozinha?
se vc parar para pensar já respondi todas as suas questoes referente a este problema com meu exemplo acima, agora so falta vc pensar um pouco e fazer o que vc quer
entendi pq nao entrava no if :oops: :oops: :oops:
acho q eu consigo fazer isso sozinha
qr dizer ja to tentando pegar o comentario atraves do cod
mas oh qualquer coisa eu post:D
pq tu sabe neh sempre acontece umas coisas estranhas com os meus codigos
kkkk
mas obg pela ajuda
ah
to tentando o seguinte
na classe do botao personalizado
[code]public void botaoDireito()
{
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(java.awt.event.MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
message=JOptionPane.showInputDialog("");
try {
System.out.println("ação do botão direito... valor de message é "+message);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
}
public String getMessage()
{
System.out.println("valor de message dentro do getmessage() "+message);
return message;
}[/code]
sendo q message é um atributo privado desta classe
dai na classe q eu uso estes botoes to fazendo o seguinte no cod akele
if (classe.contains("BotaoModulo")) {
System.out.println("Jbutton personalizado");
for(int i=0;i<b.length ;i++) // procure uma forma de retornar o numero de objetos dentro do vetor
{ lista.add(i, ((JButton) componentes[contador]).getText() );
lista.add(i, ((JButton) componentes[contador]).getText());
System.out.println(lista.get(i) +"*"+i);
String texto=b[i].getMessage();
System.out.println("valor de texto "+texto);
}
}
so q no console aparece classe BotaoModulo
Jbutton personalizado
*0
valor de message dentro do getmessage() null
valor de texto null
*1
valor de message dentro do getmessage() null
valor de texto null
*2
valor de message dentro do getmessage() null
valor de texto null
*3
valor de message dentro do getmessage() null
valor de texto null
*4
valor de message dentro do getmessage() null
valor de texto null
*5
valor de message dentro do getmessage() null
valor de texto null
*6
valor de message dentro do getmessage() null
valor de texto null
classe BotaoModulo
Jbutton personalizado
*0
valor de message dentro do getmessage() null
valor de texto null
*1
valor de message dentro do getmessage() null
valor de texto null
*2
valor de message dentro do getmessage() null
valor de texto null
*3
valor de message dentro do getmessage() null
valor de texto null
*4
valor de message dentro do getmessage() null
valor de texto null
*5
valor de message dentro do getmessage() null
valor de texto null
*6
valor de message dentro do getmessage() null
valor de texto null
classe BotaoModulo
Jbutton personalizado
*0
valor de message dentro do getmessage() null
valor de texto null
*1
valor de message dentro do getmessage() null
valor de texto null
*2
valor de message dentro do getmessage() null
valor de texto null
*3
valor de message dentro do getmessage() null
valor de texto null
*4
valor de message dentro do getmessage() null
valor de texto null
*5
valor de message dentro do getmessage() null
valor de texto null
*6
valor de message dentro do getmessage() null
valor de texto null
classe BotaoModulo
Jbutton personalizado
*0
valor de message dentro do getmessage() null
valor de texto null
*1
valor de message dentro do getmessage() null
valor de texto null
*2
valor de message dentro do getmessage() null
valor de texto null
*3
valor de message dentro do getmessage() null
valor de texto null
*4
valor de message dentro do getmessage() null
valor de texto null
*5
valor de message dentro do getmessage() null
valor de texto null
*6
valor de message dentro do getmessage() null
valor de texto null
classe BotaoModulo
Jbutton personalizado
*0
valor de message dentro do getmessage() null
valor de texto null
*1
valor de message dentro do getmessage() null
valor de texto null
*2
valor de message dentro do getmessage() null
valor de texto null
*3
valor de message dentro do getmessage() null
valor de texto null
*4
valor de message dentro do getmessage() null
valor de texto null
*5
valor de message dentro do getmessage() null
valor de texto null
*6
valor de message dentro do getmessage() null
valor de texto null
classe BotaoModulo
Jbutton personalizado
*0
valor de message dentro do getmessage() null
valor de texto null
*1
valor de message dentro do getmessage() null
valor de texto null
*2
valor de message dentro do getmessage() null
valor de texto null
*3
valor de message dentro do getmessage() null
valor de texto null
*4
valor de message dentro do getmessage() null
valor de texto null
*5
valor de message dentro do getmessage() null
valor de texto null
*6
valor de message dentro do getmessage() null
valor de texto null
classe BotaoModulo
Jbutton personalizado
*0
valor de message dentro do getmessage() null
valor de texto null
*1
valor de message dentro do getmessage() null
valor de texto null
*2
valor de message dentro do getmessage() null
valor de texto null
*3
valor de message dentro do getmessage() null
valor de texto null
*4
valor de message dentro do getmessage() null
valor de texto null
*5
valor de message dentro do getmessage() null
valor de texto null
*6
valor de message dentro do getmessage() null
valor de texto null
ação do botão direito... valor de message é comentario
to esquecendo algo?
kkcmo sempre
?
:lol: bg pela ajuda
eu sei q qro pegar o comentario
agora cmo é diferente

presta mais atenção no seu codigo
isso funcionaria?
tenta isso
acessa o metodo getText do Jbutton da superclasse
hmm
so q olha so eu acho q eu nao entendi tipo isso
[quote]tenta isso
lista.add(i, ((BotaoModulo) componentes[contador]).getText() );
acessa o metodo getText do Jbutton da superclasse[/quote]
tipo eu tenho q pegar o comentario de cada botão dai é q complica pq tipo o metodo q gera o comentario ta na classe de botao personalizado enquanto os botoes vao ser criados mesmo na outra classe 
ai tava pensando nao seria mais facil eu gerar na classe q os botoes vao ser criados um metodo para criar comentario para cada botão?
ou fica pior? :oops:
mto obg pela ajuda
o comentario é oque exatamente?
a string nome do botão ou um ToolTipText ?
realmente nao entendi oq vc quer fazer com aquele codigo dentro da classe do seu botao
tah minhas perguntas são sempre bem confusas
o que eu quero fazer é pegar o texto do comentario de cada botao (tipo daqueles que tiverem algo escrito hehe)
so que na classe do meu botao personalizado eu tnho o metodo que cria os comentarios.
Dai la na outra classe onde eu crio um vetor de objetos da classe botao personalizado eu qria pegar o texto destes comentarios para que quando eu for salvar o nome das disciplinas,modulos,atividades(texto dos botoes) e os comentarios eu salvasse o comentario de cada um dai quando eu buscar os mesmos em outra tela apareceria tudo sabe nos campos certinhos se eu fosse exibir numa jtable por exemplo.
Conseguiu entender é que eu não sei explicar direito 
:lol: bg pela ajuda
vc vai ter que fazer um get na classe onde eu crio um vetor de objetos da classe botao personalizado.
e la fazer o tratamento, por que desse jeito que vc ta falando eu nao consigo entender nada.
acho que vc ta pegando o caminho mais dificil
já ouviu falar em JTable?
[quote]e la fazer o tratamento, por que desse jeito que vc ta falando eu nao consigo entender nada.
acho que vc ta pegando o caminho mais dificil
já ouviu falar em JTable?[/quote]
:twisted: grrrr
kkkk
trocar isso td por jtable?
tah nao entendi tipo a visualização vai ser atraves de uam jtable provavelmente
na verdade o que eu quero é poder exibir os comentarios relativos a cada botão(texto do botão no caso) tipo se tu tiver outra sugestão de como eu posso fazer isso eu aceito e ah tu gosta de trabalhar com jtables?c sim eu tenho um monte de coisas para te perguntar sobre iss :lol: é q eu até criei meu proprio modelo de jtable mas isso fica para um outro topico :lol:
mtooo obg pela ajuda
eu odeio trabalhar com Jtable
tenho um modelo que eu criei que mudo minha vida…
eu nao to conseguindo ter uma visão geral do seu problema (provavelmente pq estou trabalhando na migração do sistema hahaha e não consigo pensar em 2 coisas ao mesmo tempo)
mas vou tentar te ajudar na medida do possivel
oi
ao inves de chamar o joptionpane da classe do meu botão personalizado eu criei essa mesma ação dentro da classe onde estou criando os mesmos.Ficou assim
[code]for(int i=0;i<resul;i++)
{
BotaoModulo h=new BotaoModulo();
b[i]=h;
b[i].addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(java.awt.event.MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
String message;
message=JOptionPane.showInputDialog("");
try {
System.out.println("ação do botão direito dentro da tela inserçao... valor de message é "+message);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
b[i].setBounds(x, y, o, 25);[/code]
agora vou trocar aquele system por outro codigo onde eu pego o valor dos comentarios se nao for null eu vou salvar no banco no campo obs junto com o txt do botao e tal…
ja posto

agora deu certo consigo pegar o comentario do joptionpane de cada botao e salvar todos os itens no banco.
o metodo que gera os botoes e os comentarios de cada um fica assim
[code]…
b[i].addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(java.awt.event.MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
String comenta=JOptionPane.showInputDialog("");
try {
for(int j=0;j<message.length;j++)
{
if(comenta != null && b[j].getText()!=null)
message[j]=comenta;
System.out.println("b[j] “+b[j].getText()+” seu comentario é "+message[j]);
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
…[/code]
dai eu fiz um metodo getMessage() assim
public String getMessage()
{
for(int j=0;j<message.length;j++)
return message[j];
return null;
}
bah muito obrigada pela ajuda e pelas explicações,me ajudaram muito!!
