Duda novato en Java

Buenas , siento poner una duda tan de novato en este subforo donde sabeis demasiado [tomaaa] pero bueno aver si me podeis dar una ayudita xD .

He hecho el siguiente programita para pasar números decimales a binario ; bien , ejecuto , introduzco el número en decimal , pulso mi boton , y se pone en binario , perfecto , pero pulso en mi Boton AC , introduzo el nuevo numero a convertir y me sale como resultado el numero convertido , y a continuacion el que puse antes y no se porque xD ; os dejo mi codigo a continuacion :

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class Ventana extends JFrame{

   private static final long serialVersionUID = 1L;
   private JTextField texto;
   private JButton ac;
   private JButton bit;
   private Integer decimal;
   
   public Ventana(String s){      
      Container c = getContentPane();
      setTitle("Ventana");
      c.setLayout(new FlowLayout());
      setSize(200, 100);
      setLocation(300, 300);
      texto = new JTextField(12);
      ac = new JButton("AC");
      bit = new JButton("Binario");
      ac.addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent ev)
         {
            texto.setText("");
         }
      });
      
      bit.addActionListener(new ActionListener(){

         public void actionPerformed(ActionEvent e) {
            public void actionPerformed(ActionEvent e) {
               decimal = Metodos.stringInteger(texto.getText());
               texto.setText(Metodos.toString(Metodos.aBinario(decimal)));            
            }         
         }
         
      });
      c.add(texto);
      c.add(ac);
      c.add(bit);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
   }
}


public class Metodos {
   private static Vector<Integer> resultado = new Vector<Integer>();
   
   public static Integer stringInteger(String s){
      Integer res = Integer.valueOf(s);
      return res;
   }
   
   public static Vector<Integer> aBinario(Integer a){
      int u = a;
      int v = 2;
      
      while(u >= v){
            resultado.add(u%v);
            u = (Integer)u/v;
      }
      resultado.add(u%v);
      
      return resultado;
   }
   
   public static String toString(Vector<Integer>   v){
      String res = "";
      for(int i=0;i<resultado.size();i++){
         res = resultado.get(i)+res;
      }
      return res;
   }
}


public class Test{

   public static void main(String args[]) {
      new Ventana("Ventana");
   }

}
El problema está en el vector de 1s y 0s, que cuando conviertes un número lo rellenas, y cuando conviertes otro lo vuelves a rellenar sin vaciar el resultado anterior. Deberías eliminar todos los elementos justo al entrar en la función que rellena el vector, así te aseguras que siempre está limpito :)
aaaaaaaaaaaaaaaaaaaaa es verda xDD , q cosa mas simple [tomaaa] , muchas gracias ^^
3 respuestas