Por favor alguien me puede ayudar con este codigo

Iniciado por MrC4RL4NG4S, 26 Mayo 2010, 14:55 PM

0 Miembros y 1 Visitante están viendo este tema.

MrC4RL4NG4S

Bueno la verdad me la pase realizando este codigo q consta de dos listas y 1 boton copiar al seleccionar un objeto de la lista y precionar el boton copiar, lo pasa a la lista 2 traducido-

el problema q tengo en el codigo esta en el ActionListener del boton y no he podido solucionar el error, si alguien me puede ayudar se lo agradezco..


Código (java) [Seleccionar]
//fichero traductor.java
import java.awt.*;
import java.awt.*;
import javax.swing.*;
public class traductor extends JFrame
{
private JList ingles,español;
private JButton b1;

//arreglo lista ingles
private String verbosingles[]={"go","have","put","give","do","keep","make","speak","eat","lend"};
//arreglo verbotraducido
private String verboTraducido[]={"ir","tener","poner","dar","hacer","mantener","hacer","hablar","comer","prestar"};
JPanel p= new JPanel();
public traductor()
{
super ("Traductor");

Container contenedor = getContentPane();
contenedor.setLayout( new FlowLayout() );


//establecer lista ingles
ingles = new JList( verbosingles );
ingles.setVisibleRowCount( 5 );
ingles.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION );
contenedor.add( new JScrollPane( ingles ) );


b1 = new JButton("Copiar >>>");
b1.addActionListener(new ActionListener() { // EN ESTE ACTIONLISTENER ES DONDE SE PRESENTA EL PROBLEMA.

// manejar evento de botón
public void actionPerformed( ActionEvent e)
{
// colocar valores seleccionados en listaCopia
español.setListData( ingles.getSelectedValues() );
español.setListData(verboTraducido[ingles.getSelectedIndex()] );

}

} // fin de clase interna anónima

); // fin de la llamada a addActionListener


contenedor.add( b1 );

// establecer objeto JList listaCopia
español = new JList( );
español.setVisibleRowCount( 5 );
español.setFixedCellWidth( 100 );
español.setFixedCellHeight( 20 );
español.setSelectionMode(
ListSelectionModel.SINGLE_INTERVAL_SELECTION );
contenedor.add( new JScrollPane( español ) );

setSize( 150, 150 );
setVisible( true );

} // fin del constructor PruebaSeleccionMultiple


//main
public static void main(String args[])
{
traductor aplicacion=new traductor();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}//CIERRA LA CLASE

Chuidiang


Leyer

A tu Jlist Español pasale un DefaultListModel

Código (java) [Seleccionar]
//establecer lista ingles
ingles = new JList( verbosingles );
final DefaultListModel defaultListModel = new DefaultListModel();
español = new JList( );
español.setModel(defaultListModel);


Luego en el ActionListerner coloca lo sig

Código (java) [Seleccionar]
defaultListModel.addElement(verboTraducido[ingles.getSelectedIndex() ]);

Y listo problema resuelto ha y ajusta un poco los valores del JFrame

Un Saludo.

MrC4RL4NG4S

muchas gracias por la ayuda, pero me sigue saliendo error en el ActionListener del boton b1...  sera q me puedes poner el codigo completo???

Leyer

#4
De seguro el listerner no te reconoce el metodo por la falta de @Override
Código (java) [Seleccionar]
//fichero traductor.java
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
public class traductor extends JFrame
{
private static final long serialVersionUID = 1L;
private JList ingles,español;
private JButton b1;
//arreglo lista ingles
private String verbosingles[]={"go","have","put","give","do","keep","make","speak","eat","lend"};
//arreglo verbotraducido
private String verboTraducido[]={"ir","tener","poner","dar","hacer","mantener","hacer","hablar","comer","prestar"};
JPanel p= new JPanel();
public traductor()
{
super ("Traductor");
Container contenedor = getContentPane();
contenedor.setLayout( new FlowLayout() );
//establecer lista ingles
ingles = new JList( verbosingles );
final DefaultListModel defaultListModel = new DefaultListModel();
español = new JList( );
español.setModel(defaultListModel);
ingles.setVisibleRowCount( 5 );
ingles.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION );
contenedor.add( new JScrollPane( ingles ) );
b1 = new JButton("Copiar >>>");
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed( ActionEvent e)
{
// colocar valores seleccionados en listaCopia
defaultListModel.addElement(verboTraducido[ingles.getSelectedIndex() ]);
           }
     } // fin de clase interna anónima
); // fin de la llamada a addActionListener
contenedor.add( b1 );
// establecer objeto JList listaCopia
español.setVisibleRowCount( 5 );
español.setFixedCellWidth( 100 );
español.setFixedCellHeight( 20 );
español.setSelectionMode(
ListSelectionModel.SINGLE_INTERVAL_SELECTION );
contenedor.add( new JScrollPane( español ) );
setSize( 450, 150 );
setVisible( true );
}
//main
public static void main(String args[])
{
traductor aplicacion=new traductor();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
}//CIERRA LA CLASE

MrC4RL4NG4S

Funciona,   muchas gracias por ayudarme...

lemsangel

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


public class traductorv2 extends JFrame {


   private JTextField txtField,txtField2,texto;
   private JButton btnClear,btnClear2;
        private JLabel label1,label2,label3,label4;
   
   
   public traductorv2() {
           
      // Creo la parte gráfica de los contenedores.
      Container c = getContentPane();
      setTitle("T.D.T");
      c.setLayout(new FlowLayout());
      setSize(300, 400);
      setLocation(330, 300);
              label1= new JLabel ("The word in English");
                label3= new JLabel( "<-----");
                label4= new JLabel( "----->");
                txtField = new JTextField(10);
             
                                           
                label2= new JLabel("AL ESPAÑOL  ");
           txtField2 = new JTextField(10);
      btnClear = new JButton("BORRAR");
                btnClear2 = new JButton("ACEPTAR");
      //Al botón le agrego el listener.
      btnClear.addActionListener(new ActionListener()
      {
            @Override
         public void actionPerformed(ActionEvent ev)
         {
            clearTxtField();
         }
      });
      //Los añado al contenedor
               c.add(label1);
      c.add(txtField); c.add(label3);
                                 c.add(label4);
           
                c.add(label4);
                c.add(label2);
                c.add(txtField2);
      c.add(btnClear);
                c.add(btnClear2);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
   }
   
   // Procedimiento que limpia el formulario..
   public void clearTxtField() {
      txtField.setText("");
   }
         public void DameIdioma(String id){
             
         }
         
}