ola,
tenho um vetor de botões de uma classe e cada um desses botões tem um evento que abre um joptionpane.Na tela em que utilizo estes itens eu consigo salvar o texto de cada botão pegando os mesmos com o metodo getText() mas minha dificuldade esta em pegar o texto dos comentarios de cada botão:(
como posso salvar o texto de cada joptionpane e salvar junto com os textos dos botões?
muito obrigada pela ajuda

eu nao entendi o que vc ta tentando fazer 
oiiii
eu to tentando salvar o texto do joptionpane no banco olha o print da minha tela talvez de para entender melhor 
mto obg pela ajuda 
eu nao testei, mas deve ser isso -.-
eu nao testei, mas deve ser isso -.-
tah nao eu sei q é assim para pegar o texto do joptionpane mas acontece que eu tenho q fazer isso para cada botão

entao sei q deveria colocar onde estou instanciando os mesmos que é aqui o metodo que gera a quantidade de botoes de acordo com a disciplina e modulo selecionados
[code]public void determinaBotao()
{
int x = 20,y = 280;int o=60;//local onde o botao vai fik na tela
int cargaHorariaTotalMode = 0;//recebe o valor da ch que ta armazenado no banco
int resul=0;//qnte d botoes q vao ser criados
String j=null;Object l=null;
String v,v1,v2,v3;
int n,n1,n2,n3;
try {
conexao = conecta.conectabanco();
comando = conexao.createStatement();
}
catch(Exception e1) {
JOptionPane.showMessageDialog(null, "Erro na conexÄo do banco");
}
try
{
Object item=null;
if(comboBox.getSelectedItem()!=null)
item=comboBox.getSelectedItem();
resultado=comando.executeQuery("select ch_total,plantao_cm_professor,plantao_sm_professor,tutoria,falta from cargahoraria where Id_disciplina='"+item+"'");
resultado.next();
j =resultado.getObject(1).toString();
cargaHorariaTotalMode=Integer.parseInt(j);
v =resultado.getObject(2).toString();
n=Integer.parseInt(v);
v1 =resultado.getObject(3).toString();
n1=Integer.parseInt(v1);
v2 =resultado.getObject(4).toString();
n2=Integer.parseInt(v2);
v3 =resultado.getObject(5).toString();
n3=Integer.parseInt(v3);
int menor=n;
if(menor>n1)
menor=n1;
else if(menor>n2)
menor=n2;
else if(menor>n3)
menor=n3;
resul=cargaHorariaTotalMode/menor;
b=new BotaoModulo[resul];
//aqui eu to criando os objetos da classe botao 
for(int i=0;i<resul;i++)
{
BotaoModulo h=new BotaoModulo();
b[i]=h;
b[i].setBounds(x, y, o, 25);
x+=o;
if(i==11)
{
y+=30;
x=5; b[i]=h;
b[i].setBounds(x, y, o, 25);
}
else if(i==23)
{
y+=30;
x=5; b[i]=h;
b[i].setBounds(x, y, o, 25);
}
painel.add(h);
repaint();
}
}
catch(Exception e5)
{
JOptionPane.showMessageDialog(null, "Erro ");
e5.printStackTrace();
}
}
[/code]
pode me ajudar? :lol:
depois vc vai ter que fazer um for to do e fazer um cast
vai ser complicadinho.
[code]
Component[] componentes = painel.getComponents();
String classe;
for (int contador = 0; contador < componentes.length; contador++) {
classe = componentes[contador].getClass().getName();
try {
if (classe.contains("JButton")) {
((JButton) componentes[contador]).getText(); // verificar se para pegar o nome do botao é getText() mesmo
}
} catch (Exception e) {
//tratamento de exception
}
}
[/code]
[code]((JButton) componentes[contador]).getText(); [/code]
nesta parte vc vai ter que jogar o valor do conteudo em uma lista, mas isso eu deixo pra vc pq já te expliquei como fazer em um post anterior
vai ser uma coisa do genero :roll:
depois vc vai ter que fazer um for to do e fazer um cast
vai ser complicadinho.
Component[] componentes = painel.getComponents();
String classe;
for (int contador = 0; contador < componentes.length; contador++) {
classe = componentes[contador].getClass().getName();
try {
if (classe.contains("JButton")) {
((JButton) componentes[contador]).getText(); // verificar se para pegar o nome do botao é getText() mesmo
}
} catch (Exception e) {
//tratamento de exception
}
}
nesta parte vc vai ter que jogar o valor do conteudo em uma lista, mas isso eu deixo pra vc pq já te expliquei como fazer em um post anterior
vai ser uma coisa do genero :roll:
bah :shock: :shock: :shock: !!!
tah calma ai vamos por partes levando em conta que meu objeto esta sendo criado num vetor eu deveria fazer algo mais ou menos assim for(int i=0;i<resul;i++)
b[i].getComponents();
....
ah ja é a segunda vez que tu fala sobre o for to do qual é a diferença dele para um for normal?
mtoo obg 
for to do = C hahahahaah força do habito é um for normal.
passa para ele o objeto (jpanel, joptionpane) aonde os botoes estao adicionados
outra solução pode ser que funcione é esta
//declare uma lista
for(int i=0;i<b.size() ;i++) // procure uma forma de retornar o numero de objetos dentro do vetor
lista.add(i, ((JButton) componentes[contador]).getText() );
}
hmm
:oops: for normal ah tah
:oops: :oops: :oops: :oops:
pera ai to tentando arrumar na minha classe
vou ir modificando aqui uns itens e depois posto!
obrigada pela ajuda e explicações

ooi bem até agora o que eu modifiquei no seu codigo foi o seguinte:
[code]for(int i=0;i<resul;i++)
{
b[i].getComponents();
}
Component[] componentes = tela.getComponents();
String classe; ArrayListlista=new ArrayList();
for (int contador = 0; contador < componentes.length; contador++) {
classe = componentes[contador].getClass().getName();
try {
if (classe.contains(“JButton”)) {
((JButton) componentes[contador]).getText();
}
for(int i=0;i<b.length ;i++)
lista.add(i, ((JButton) componentes[contador]).getText() );
}
catch (Exception e) {
System.out.println("erro :"+e);
}
} [/code]
mas tipo ainda não tenho ideias de como retornar esta lista 
mas é algo mais ou menos assim o que era para fazer :?:
mt :lol: obg pela ajuda
vc está tentando modificar o codigo sem entender ele
for(int i=0;i<resul;i++) isso nao tem utilidade… vc esta fazendo um for que vai somar ate aonde?? depois que adicionar o ultimo objeto vai começar a add null
outra coisa, os botoes estão em um JPanel ou em um JOptionPane?
se for em um JPanel é so usar este codigo
[code] Component[] componentes = SEUPAINEL.getComponents();
String classe; ArrayListlista=new ArrayList();
for (int contador = 0; contador < componentes.length; contador++) {
classe = componentes[contador].getClass().getName();
try {
if (classe.contains(“JButton”)) {
lista.add(i, ((JButton) componentes[contador]).getText());
System.out.println(lista.get(i));
}
catch (Exception e) {
System.out.println(“erro :”+e);
}
} [/code]
e se for um container apenas?
:oops: :oops: :oops:
sei tem muitas coisas que preciso aprender em relação a programação

obg pela ajuda
é um painel?
vc adicionou os botoes em um painel??
para voce usar aquele for vc teria que ter um controlador, do jeito que vc fez ta criando um loop infinito
eu add os botões direto na tela

eu fiz um system na variavel classe e no console apareceu classe javax.swing.JScrollPane
:shock:
ah e mais uma coisa ele não entra no if if (classe.contains("JButton")) { ...}
obg pela ajuda
por tentar resolver meus problemas
hehe
faz assim
cria um metodo:
[code] public JList getNome(JPanel painel){ // no painel vc passa o painel que contem os botoes
// use o codigo que mostrei acima
return lista;
}
[/code]
oi
bah ainda nao consegui resolver este problema 
posta o codigo
o meu codigo quer dizer a implementação do teu codigo ficou assim[code] Component[] componentes = tela.getComponents();
String classe; ArrayListlista=new ArrayList();
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);
}
}[/code]
o bloco de codigo do if não entra sabe ele cai direto no else pq no console fica assim classe javax.swing.JScrollPane
bah!
ação do botão direito...
eu tenho que modificar mais alguma coisa no metodo?fiz algo errado?
muito obrigada pela ajuda
o metodo ficou assim
[code]public ArrayList getNome(JPanel painel){ // no painel vc passa o painel que contem os botoes
painel=pan;//faço o painel recebe o painel q add os botoes na tela
Component[] componentes = tela.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]
no console continua aparecendo isso
classe javax.swing.JScrollPane
bah!
hmm
era mais ou menos assim o metodo?
obrigada
:lol:
