Bom pessoal, essa dúvida pode ser ridicula, mas eu não consigo fazer mais quase nada por causa dela e não consegui achar a resposta ainda.
Eu preciso passar algum comando do tipo setSelected() para o Java quando o usuário clique na JLabel, pra permitir que o usuário edite o tamanho,fonte,posição na tela, etc.
Isso deve ser simples, mas não encontrei nada sobre isso ainda. E quase tudo que eu tenho pra fazer envolve isso.
Cara tu quer permitir que o usuário possa editar o JLABEL via tela?
M
marcio_gs
Editar o texto ele já pode hehe. Clica duas vezes digita o texto e pronto. Só que pra isso usei MouseListener. O que eu precisava agora era dizer para o Java qual JLabel está sendo alterada, porque o usuário pode adicionar quantas quiser na tela.
RobsonFagundes
marcio_gs pq vc nao tenta algo assim:
Cria um metodo seuMetodoFont(); dentro dele vc seta as proprierdades q vc quer na fonte
ou vc pegar isso do usuario …
por ex:
No evento Focus do Seu JLabel chama o FocusGained
dentro dele vc chama o seu metodo font… ou seja qndo o User clica no JLabel
ele vai chamar seuMetodoFont…
t+ Espero q ajude
M
marcio_gs
RobsonFagundes:
marcio_gs pq vc nao tenta algo assim:
Cria um metodo seuMetodoFont(); dentro dele vc seta as proprierdades q vc quer na fonte
ou vc pegar isso do usuario …
por ex:
No evento Focus do Seu JLabel chama o FocusGained
dentro dele vc chama o seu metodo font… ou seja qndo o User clica no JLabel
ele vai chamar seuMetodoFont…
t+ Espero q ajude
Aproveitei a classe que implemento MouseListener para adicionar o FocusListener, mas quando clico no JLabel ele não passa nem por focusGained nem por focusLost. Sua lógica vai funcionar muito bem para o meu caso, só tenho que descobrir o porque não está entrando nos métodos do FocusListener.
RobsonFagundes
posta o cod ai pra gente da uma olhada
a gente ja descobre …
M
marcio_gs
Coloquei o FocusListener fora da classe, mas nada mudou. Ai está o código:
Onde ele cria a JLabel:
JLabellabel=newJLabel();jPanel6.add(label);label.setBounds(evt.getX(),evt.getY(),30,16);label.setText("texto");label.addMouseListener(newEventoJLabel());label.addFocusListener(newFocusListener(){publicvoidfocusGained(FocusEventarg0){System.out.println("Ganhei o foco");}publicvoidfocusLost(FocusEventarg0){System.out.println("Perdi o foco");}});
RobsonFagundes
tenta assim:
jLabel1=newjavax.swing.JLabel();jLabel1.setText("jLabel1");jLabel1.addFocusListener(newjava.awt.event.FocusAdapter(){publicvoidfocusGained(java.awt.event.FocusEventevt){jLabel1FocusGained(evt);}});privatevoidjLabel1FocusGained(java.awt.event.FocusEventevt){System.out.println("Ganhei o foco");}
axo q da certo nao testei …
ta meio corrido aki tenta ai dai qualquer coisa da um tok
t+
RobsonFagundes
tenta assim:
jLabel1=newjavax.swing.JLabel();jLabel1.setText("jLabel1");jLabel1.addFocusListener(newjava.awt.event.FocusAdapter(){publicvoidfocusGained(java.awt.event.FocusEventevt){jLabel1FocusGained(evt);}});privatevoidjLabel1FocusGained(java.awt.event.FocusEventevt){System.out.println("Ganhei o foco");}privatevoidjLabel1FocusLost(java.awt.event.FocusEventevt){System.out.println("Perdi o foco");}
axo q da certo nao testei …
ta meio corrido aki tenta ai dai qualquer coisa da um tok
t+
M
marcio_gs
Muito obrigado pela ajuda, mas ainda não foi. Acho que seu código está certo. Será que não tem nada interferindo pra ele não funcionar, ou algo que fiz errado? Ele adiciona a JLabel em um jPanel com layout null, é cria ela dentro de um MouseListener. Vou procurar mais coisas que possam fazer com o código não funcione corretamente.
RobsonFagundes
Heim Marcio
vc esta usando o Design do netBeans ???
M
marcio_gs
RobsonFagundes:
Heim Marcio
vc esta usando o Design do netBeans ???
Estou usando eclipse. Não curto NetBeans hehe.
Consegui resolver. Muito obrigado pela ajuda. A resposta estava embaixo do meu nariz o tempo todo. Era só usar o MouseListener que uso pra editar o texto. Ai lá eu passo o JLabel que recebeu o clique para um atributo. Assim o atributo sempre terá o último JLabel.
Mas obrigado novamente. Sua ajuda foi muito valiosa pra chegar a solução do problema. E ainda me ajudou a entender mais um pouco de Listeners.
RobsonFagundes
pois muita gente diz isso, mais pra Swing eu axo o melhor !!!
bom mas gosto eh gosto, nao eh hehehehheheheh
Dinada Marcio
Abraço T+