java - no suitable method found for setListData(Object[]) -



java - no suitable method found for setListData(Object[]) -

i have problem code, , i'm getting 1 error , 1 warning when seek compile it. error is:

marcoseleccionmultiple.java:43: error: no suitable method found setlistdata(object[])

and warning is:

marcoseleccionmultiple.java:13: warning: [serial] serializable class marcoselecc ionmultiple has no definition of serialversionuid

i hope can help me. thanks.

// pruebaseleccionmultiple.java // pruebe de marcoseleccionmultiple.java import javax.swing.jframe; public class pruebaseleccionmultiple { public static void main( string[] args ) { marcoseleccionmultiple marcoseleccionmultiple = new marcoseleccionmultiple(); marcoseleccionmultiple.setdefaultcloseoperation( jframe.exit_on_close ); marcoseleccionmultiple.setsize( 350, 140 ); // establece el tamaño del marco marcoseleccionmultiple.setvisible( true ); // muestra el marco } // fin de main } // fin de la clase pruebaseleccionmultiple

this other class:

// marcoseleccionmultiple.java // copiar elementos de united nations objeto list otro import java.awt.flowlayout; import java.awt.event.actionlistener; import java.awt.event.actionevent; import javax.swing.jframe; import javax.swing.jlist; import javax.swing.jbutton; import javax.swing.jscrollpane; import javax.swing.listselectionmodel; import java.util.arraylist; public class marcoseleccionmultiple extends jframe { private jlist<string> listajlistcolores; // lista para guardar los nombres de los colores private jlist<string> listajlistcopia; // lista en la que se van copiar los nombres de los colores private jbutton botonjbuttoncopiar; // botón para copiar los nombres seleccionados private final string[] nombrescolores = { "negro", "azul", "cyan", "gris oscuro", "gris", "verde", "gris claro", "magenta", "naranja", "rosa", "rojo", "blanco", "amarillo" }; // constructor de marcoseleccionmultiple public marcoseleccionmultiple() { super( "listas de selección múltiple" ); setlayout( new flowlayout() ); // establece el esquema del marco listajlistcolores = new jlist<string>( nombrescolores ); // contiene los nombres de todos los colores listajlistcolores.setvisiblerowcount( 5 ); // muestra cinco filas listajlistcolores.setselectionmode( listselectionmodel.multiple_interval_selection ); add( new jscrollpane( listajlistcolores ) ); // agrega lista con panel de desplazamiento botonjbuttoncopiar = new jbutton( "copiar >>>" ); // crea botón para copiar botonjbuttoncopiar.addactionlistener( new actionlistener() // clase interna anónima { // maneja evento de botón public void actionperformed( actionevent evento ) { // coloca los valores seleccionados en listajlistcopia listajlistcopia.setlistdata( listajlistcolores.getselectedvalueslist().toarray() ); } // fin del método actionperformed } // fin de la clase interna anónima ); // fin de la llamada addactionlistener add( botonjbuttoncopiar ); // agrega el botón copiar jframe listajlistcopia = new jlist<string>(); // crea lista para guardar nombres de colores copiados listajlistcopia.setvisiblerowcount( 5 ); // muestra 5 filas listajlistcopia.setfixedcellwidth( 100 ); // establece la anchura listajlistcopia.setfixedcellheight( 15 ); // establece la altura listajlistcopia.setselectionmode( listselectionmodel.single_interval_selection ); add( new jscrollpane( listajlistcopia ) ); // agrega lista con panel de desplazamiento } // fin del constructor de marcoseleccionmultiple } // fin de la clase marcoseleccionmultiple

let's examine javadoc:

setlistdata()

parameters: listdata - array of e containing items display in list

in case, method expects array of strings

toarray()

object[] toarray()

that means, method returns array of object. , why you're getting mentioned exception. setlistdata expects array of strings, you're giving him array of objects.

list provides toarray method should utilize here: <t> t[] toarray(t[] a). expects array , homecoming list same array type you've specified there.

that means, prepare problem, should change

listajlistcopia.setlistdata( listajlistcolores.getselectedvalueslist().toarray() );

to

listajlistcopia.setlistdata( listajlistcolores.getselectedvalueslist().toarray(new string[1]) );

you utilize new string[0] cause warning.

and warning:

this warning means, class marcoseleccionmultiple implements interface serializable, because extends class jframe serializable due extended class component. prepare warning, include variable serialversionuid in class. example:

private static final long serialversionuid = 1l;

your ide should able generate serialversionuid you. read javadoc more info variable: serializable.

java

Comments

Popular posts from this blog

formatting - SAS SQL Datepart function returning odd values -

c++ - Apple Mach-O Linker Error(Duplicate Symbols For Architecture armv7) -

php - Yii 2: Unable to find a class into the extension 'yii2-admin' -