Gostaria de tratar o botao para quando eu clicar ele chamar a funçao select
publicclassSwingExemplo1extendsJFrame{DAOteste=newDAO(null);JPanelpanel;JLabelmsg;JButtonbotao;publicSwingExemplo1(){super("Swing");}publicvoidcriaJanela(){panel=newJPanel();msg=newJLabel("Select");botao=newJButton(teste.select());// esse select ja esta implementado em outra classe //so quero que chame a funcao quando eu clicar :D panel.add(msg);panel.add(botao);getContentPane().add(panel,BorderLayout.CENTER);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);pack();setVisible(true);}publicstaticvoidmain(Stringargs[]){SwingExemplo1s=newSwingExemplo1();s.criaJanela();}}
Opa…
faltou voce implementar a interface ActionListener ai implementado voce adiciona o objeto e implementa o metodo…
F
flaryon
vc tem adicionar a action ao seu botão;
seuBotao.addActionListener(//implementar o que se deseja fazer..no caso chamar a função "select");
Jeferson_Manetti
simples…
e so alterar isso no seu code…
botao=newJButton("label do botao!!!");botao.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.event.ActionEventevt){teste.select();}});
Ah… não esqueça de colocar os imports =)
Diego_Fontenele
Alexandre
você usa alguma IDE ex: netbeans ou eclipse?
se não faça assim:
botao=newJButton("label do botao!!!");botao.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.event.ActionEventevt){select();}});
tenta assim se não der posta ai seu erro rapaz!
A
alexandre99
eclipse
A
alexandre99
Nao sei nada de swing iniciei o estudo hoje
Marky.Vasconcelos
Agora que voce foi para a parte swing estude o padrao Observer…
Voce vai entender esses listeners.
Diego_Fontenele
Vou postar um exemplo bem simples pra vc tirar suas duvidas!!
e assim implementar o que vc achar legal
qualquer duvida posta que a gente tenta ajudar!
packagetemperatura;importjava.awt.*;importjavax.swing.*;/** * * @author Diego */publicclassNullDemoextendsJFrame{publicNullDemo(){setTitle("NullDemo");setSize(200,150);setLocation(300,300);Containercp=getContentPane();cp.setLayout(newFlowLayout());for(inti=0;i<5;i++){JButtonb=newJButton("Botão"+(i+1));b.setBounds(10+i*90,30,80,20);//seta posição e tamanho sucessivamentecp.add(b);}cp.setBackground(Color.orange);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}
da uma olhada é bem simples!!!
Diego_Fontenele
Essa é simples mas já da pra vc observar botões!!! o que eles fazem!
packagetemperatura;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;// pacote para formatação decimalimportjava.text.*;/** * * @author Diego */publicclassConversorextendsjavax.swing.JFrame{//Componentes ativosprivateJTextFieldtfValor,tfValor2;privateJButtonbLimpar,bConverter;//Componentes não ativosprivateJLabellUnidade1,lUnidade2;//outros elementos: Formatar decimalDecimalFormatdf=newDecimalFormat("###,##0.000");privatedoubleres;publicConversor(){super("Conversor");//ajuste o título da janela//instanciação e ajustes dos componenteslUnidade1=newJLabel("Celsius");lUnidade2=newJLabel("Farenheit");tfValor=newJTextField();tfValor2=newJTextField();bLimpar=newJButton("Limpar");bLimpar.setToolTipText("Limpar as caixas de entrada");bConverter=newJButton("Converter");bConverter.setToolTipText("Efetua conversão do valor dado");//Ajuste do layout e adição dos componentesContainercp=getContentPane();cp.setLayout(newGridLayout(3,2,5,5));cp.add(lUnidade1);cp.add(tfValor);cp.add(lUnidade2);cp.add(tfValor2);cp.add(bLimpar);cp.add(bConverter);//Registro dos event-listenersbLimpar.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){bLimparClick();}});bConverter.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){bConverterClick();}});//ajustes para a janelacp.setBackground(Color.orange);//cp.setLayout();podendo setar o jeito que vc quizer a tabelasetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);pack();}//lipar caixas de textoprivatevoidbLimparClick(){tfValor.setText("");tfValor2.setText("");}//efetua a conversão conforme o conteudo das caixas de textoprivatevoidbConverterClick(){//C -> F se tfValor2 vazia e tfValor com conteudoif(tfValor2.getText().equals("")&&!tfValor.getText().equals("")){doubleres;try{res=9*Double.parseDouble(tfValor.getText())/5+32;tfValor.setText("");tfValor2.setText(df.format(res));}catch(NumberFormatExceptionexc){tfValor.selectAll();tfValor.requestFocus();Toolkit.getDefaultToolkit().beep();// som chatoooo kkk}//F -> C se tfValor vazia e tfValor2 com conteudo}elseif(tfValor.getText().equals("")&&!tfValor2.getText().equals("")){try{res=5*(Double.parseDouble(tfValor2.getText())-32)/9;tfValor2.setText("");tfValor.setText(df.format(res));}catch(NumberFormatExceptionexc){tfValor2.selectAll();tfValor2.requestFocus();Toolkit.getDefaultToolkit().beep();// som chatoooo kkk}}}}
Da uma olhada esse já é mais interessante que o ultimo!!!
para velo funcionando é só:
public static void main(String[] args) {
new Conversor().setVisible(true);
}