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
Post a Comment