Swing basico

10 respostas
A
Gostaria de tratar o botao para quando eu clicar ele chamar a funçao select
public class SwingExemplo1 extends JFrame  
 {  
	 
	 DAO teste = new DAO(null);
	 
     JPanel panel;  
    JLabel msg;  
     JButton botao;  
     public SwingExemplo1()  
     {  
         super("Swing");  
     }  
       
     public void criaJanela()  
     {         
         panel = new JPanel();  
         msg = new JLabel("Select");  
         botao = new JButton(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);  
     }  
       
    public static void main(String args[])  
     {  
         SwingExemplo1 s = new SwingExemplo1();  
         s.criaJanela();  
     }  
 }

Se alguem puder me explicar

Abraco

10 Respostas

rdgms

Opa…
faltou voce implementar a interface ActionListener ai implementado voce adiciona o objeto e implementa o metodo…

F

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 = new JButton("label do botao!!!");

botao.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {

                 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 = new JButton("label do botao!!!");  
   
 botao.addActionListener(new java.awt.event.ActionListener() {  
             public void actionPerformed(java.awt.event.ActionEvent evt) {  
   
                  select();  
   
             }  
         });

tenta assim se não der posta ai seu erro rapaz!

A

eclipse

A

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!

package temperatura;
import java.awt.*;
import javax.swing.*;


/**
 *
 * @author Diego
 */
public class NullDemo extends JFrame{

        public NullDemo(){
        setTitle("NullDemo");
        setSize(200,150);
        setLocation(300,300);
        
        Container cp=getContentPane();
        cp.setLayout(new FlowLayout());


        for(int i=0;i<5;i++){
        JButton b = new JButton("Botão"+(i+1));
        b.setBounds(10+i*90, 30, 80, 20); //seta posição e tamanho sucessivamente
        cp.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!

package temperatura;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// pacote para formatação decimal
import java.text.*;

/**
 *
 * @author Diego
 */
public class Conversor extends javax.swing.JFrame {

    //Componentes ativos
    private JTextField tfValor, tfValor2;
    private JButton bLimpar, bConverter;
    
    //Componentes não ativos
    private JLabel lUnidade1, lUnidade2;
    
    //outros elementos: Formatar decimal
    DecimalFormat df = new DecimalFormat("###,##0.000");
    private double res;
   


    public Conversor() {
        super("Conversor");//ajuste o título da janela
        //instanciação e ajustes dos componentes

       lUnidade1 = new JLabel("Celsius");
       lUnidade2 = new JLabel("Farenheit");
       tfValor = new JTextField();
       tfValor2 = new JTextField();
       bLimpar = new JButton("Limpar");
       bLimpar.setToolTipText("Limpar as caixas de entrada");
       bConverter = new JButton("Converter");
       bConverter.setToolTipText("Efetua conversão do valor dado");

       //Ajuste do layout e adição dos componentes
       Container cp = getContentPane();

       cp.setLayout(new GridLayout(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-listeners
      bLimpar.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                bLimparClick();
            }


        });

        bConverter.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                bConverterClick();
            }

        });

        //ajustes para a janela
        cp.setBackground(Color.orange);
        //cp.setLayout();podendo setar o jeito que vc quizer a tabela
        
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();

    }

    //lipar caixas de texto
    private void bLimparClick(){

        tfValor.setText("");
        tfValor2.setText("");
    }

    //efetua a conversão conforme o conteudo das caixas de texto

    private void bConverterClick(){
    //C -> F se tfValor2 vazia e tfValor com conteudo
        if(tfValor2.getText().equals("") && !tfValor.getText().equals("")){

           double res;

            try{
            res = 9*Double.parseDouble(tfValor.getText())/5+32;
            tfValor.setText("");
            tfValor2.setText(df.format(res));

            }catch(NumberFormatException exc){
            tfValor.selectAll();
            tfValor.requestFocus();
            Toolkit.getDefaultToolkit().beep();// som chatoooo kkk
          }

     //F -> C se tfValor vazia e tfValor2 com conteudo
        }else if(tfValor.getText().equals("") && !tfValor2.getText().equals("")){
        try{
        res = 5*(Double.parseDouble(tfValor2.getText())-32)/9;
        tfValor2.setText("");
        tfValor.setText(df.format(res));

        }catch(NumberFormatException exc){
        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); }

Se tiver duvida posta ai!!! flw

A

Vlw galera vo estuda aqui qualquer coisa eu posto

abraco

Criado 17 de março de 2009
Ultima resposta 17 de mar. de 2009
Respostas 10
Participantes 6