Java Arraylists en Jlist -- java campo con arrays campo con arraylist campo con jlist camp Relacionados El problema

Java ArrayLists into JList


12
vote

problema

Español

OK, así que estoy haciendo una pequeña parte de mi inventario. Tengo la mayor parte de eso. Estoy tratando de agregar elementos de cadena a una lista de array, agregue a un JLIST. Sin embargo, estoy recibiendo este error cuando compile:

  Why am I seeing this page?  The server that your request has reached is acting as a gateway or proxy to fulfil the request made by your client.  Web Browser => Web Front-End => Web Back-End  This server (Web Front-End) received an invalid response from an upstream (Web Back-End) server it accessed to fulfil the request.  In most cases this will not mean that the upstream server is down, but rather that the upstream server and the gateway/proxy do not agree on the protocol for exchanging data.  This problem is most commonly caused when there is a problem with IP communications between the Web Front and Back-Ends. Before you attempt to resolve this problem you should clear your browser cache completely.  Our support staff will be happy to assist you in resolving this issue. Please contact our Live Support or reply to any Tickets you may have received from our technicians for further assistance. 111  

Probablemente sea un error de novato que estoy haciendo ...: /

Código:

  Why am I seeing this page?  The server that your request has reached is acting as a gateway or proxy to fulfil the request made by your client.  Web Browser => Web Front-End => Web Back-End  This server (Web Front-End) received an invalid response from an upstream (Web Back-End) server it accessed to fulfil the request.  In most cases this will not mean that the upstream server is down, but rather that the upstream server and the gateway/proxy do not agree on the protocol for exchanging data.  This problem is most commonly caused when there is a problem with IP communications between the Web Front and Back-Ends. Before you attempt to resolve this problem you should clear your browser cache completely.  Our support staff will be happy to assist you in resolving this issue. Please contact our Live Support or reply to any Tickets you may have received from our technicians for further assistance. 2  
Original en ingles

OK so I'm doing a small part of my inventory. I got MOST of it down. I'm trying to add string items to an ArrayList then add that to a JList. However, I'm getting this error when I compile:

C:\Users\Dan\Documents\DanJavaGen\inventory.java:30: cannot find symbol symbol  : constructor JList(java.util.ArrayList<java.lang.String>) location: class javax.swing.JList         list = new JList(arr); 

It's probably some rookie mistake I am making ... :/

Code:

import java.applet.Applet; import java.awt.*; import javax.swing.*; import javax.swing.JList; import java.awt.event.*; import java.util.ArrayList; import java.io.*; import java.util.*;  public class inventory extends JApplet implements MouseListener {  public static String newline; public static JList list; int gold = 123;      public void init() {    ArrayList<String> arr = new ArrayList<String>(); arr.add("Hatchet"); arr.add("Sword"); arr.add("Shield"); arr.add(gold + " Gold"); System.out.println("You have " + arr.size() + " items in your inventory."); showInventory(arr);            list = new JList(arr);          add(list);          list.addMouseListener(this);          list.setVisible(true);      }  public static void showInventory (ArrayList<String> theList) { for (int i = 0; i < theList.size(); i++) { System.out.println(theList.get(i)); } }       public void mousePressed(MouseEvent e) { }      public void mouseReleased(MouseEvent e) {         Object index = list.getSelectedValue();        System.out.println("You have selected: " + index);     }      public void mouseEntered(MouseEvent e) { }      public void mouseExited(MouseEvent e) { }      public void mouseClicked(MouseEvent e) { }         public void paint(Graphics g) {      } } 
           

Lista de respuestas

26
 
vote
vote
La mejor respuesta
 

jlist proporciona un constructor jlist (objeto []) en el que puede llamar después de desembalar su Arraylist & lt; string & gt; usando toarray () :

  NSCachedURLResponse5  
 

JList provides a constructor JList(Object[]) which you can call after unpacking your ArrayList<String> using toArray():

list = new JList(arr.toArray()) 
 
 
 
 
3
 
vote

Intenta esto:

  NSCachedURLResponse6  
 

Try this:

DefaultListModel listModel = new DefaultListModel(); for (int i = 0; i < arrayList().size(); i++) {     listModel.addElement(arrayList().get(i)); } jList1.setModel(listModel); 
 
 
2
 
vote

Tuve problemas con Toardarray () y Jlist para mi proyecto también. Hicieron algunas investigaciones y probó algunas cosas y encontró algo que funciona. Espero que ayude a todos:

  NSCachedURLResponse7  
 

I had trouble with toArray() and JList for my project as well. Did some research and tried a few things and found something that works. Hope it helps everyone:

ArrayList<String> i = new ArrayList<>(); String[] str = new String[i.size()]; //Assuming there is data in your list JList<String> list = new JList<>(i.toArray(str)); 
 
 
2
 
vote

Tuve problemas con el método toArray() que causa excepciones, por lo que construí un método genérico rápido para convertir. Tal vez alguien también lo encuentre útil. Sé que este es un viejo post, pero apuesto a que todavía se ve de vez en cuando. Aquí está el método:

  private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) {     System.out.println("Array size " + arr.length);     System.out.println("ArrayList size " + arrayList.size());     for (int i = 0; i < arrayList.size(); i++) {         arr[i] = arrayList.get(i);     } }   

Simplemente cree la matriz antes de pasarla, como

  String[] arr = new String[arrayList.size()];   

Luego solo llámelo de su código

  populateArrayFromList(arr, arrayList);   
 

I had trouble with the toArray() method causing exceptions, so I built a quick generic method to convert. Maybe someone will find it useful as well. I know this is an old post but I'll bet it's still viewed from time to time. Here's the method:

private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) {     System.out.println("Array size " + arr.length);     System.out.println("ArrayList size " + arrayList.size());     for (int i = 0; i < arrayList.size(); i++) {         arr[i] = arrayList.get(i);     } } 

Just create the array before you pass it in, like

String[] arr = new String[arrayList.size()]; 

Then just call it from your code

populateArrayFromList(arr, arrayList); 
 
 
0
 
vote

Resumen constructor
JList() Construye un JList Con un modelo vacío, solo de lectura,.
JList(ListModel dataModel) Construye un JList que muestra elementos del modelo especificado, no nulo,.
JList(Object[] listData) Construye un JList que muestra los elementos en la matriz especificada.
private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) { System.out.println("Array size " + arr.length); System.out.println("ArrayList size " + arrayList.size()); for (int i = 0; i < arrayList.size(); i++) { arr[i] = arrayList.get(i); } } 0 Construye un private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) { System.out.println("Array size " + arr.length); System.out.println("ArrayList size " + arrayList.size()); for (int i = 0; i < arrayList.size(); i++) { arr[i] = arrayList.get(i); } } 111111. que muestra los elementos en el vector especificado.

 

Constructor Summary
JList() Constructs a JList with an empty, read-only, model.
JList(ListModel dataModel) Constructs a JList that displays elements from the specified, non-null, model.
JList(Object[] listData) Constructs a JList that displays the elements in the specified array.
JList(Vector<?> listData) Constructs a JList that displays the elements in the specified Vector.

 
 
0
 
vote

Simplemente implementé la interfaz LISTMODEL:

  private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) {     System.out.println("Array size " + arr.length);     System.out.println("ArrayList size " + arrayList.size());     for (int i = 0; i < arrayList.size(); i++) {         arr[i] = arrayList.get(i);     } } 2  
 

I simply implemented the ListModel interface:

    package proba;      import java.awt.BorderLayout;     import java.awt.EventQueue;     import java.util.ArrayList;     import javax.swing.JFrame;     import javax.swing.JList;     import javax.swing.JScrollPane;     import javax.swing.ListModel;     import javax.swing.ListSelectionModel;     import javax.swing.event.ListDataListener;      public class Proba extends JFrame {         ArrayList<String> al = new ArrayList<>();         public Proba() {             al.add("1111111");             al.add("2222222");             al.add("3333333");             setLayout(new BorderLayout());             MyListModel lm = new MyListModel();             JList l = new JList(lm);             l.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);             JScrollPane sp = new JScrollPane(l);             add(sp, BorderLayout.CENTER);         }          class MyListModel implements ListModel {             @Override             public int getSize() {                 return al.size();             }             @Override             public Object getElementAt(int index) {                 return al.get(index);             }             @Override             public void addListDataListener(ListDataListener l) {             }             @Override             public void removeListDataListener(ListDataListener l) {             }         }          public static void main(String[] args) {             EventQueue.invokeLater(new Runnable() {                 @Override                 public void run() {                     Proba app = new Proba();                     app.setSize(600, 480);                     app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                     app.setVisible(true);                 }             });         }     } 
 
 
0
 
vote

Si está utilizando los componentes de arrastrar y soltar, llame a su lista como "Lista de artículo" y supongo que ARR es el nombre de su ArrayList que contiene algunos datos de cadena,

  private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) {     System.out.println("Array size " + arr.length);     System.out.println("ArrayList size " + arrayList.size());     for (int i = 0; i < arrayList.size(); i++) {         arr[i] = arrayList.get(i);     } } 3  

Espero que esto funcione para usted.

 

if you are using drag and drop components then, name your list as "itemList" and I suppose that arr is the name of your arraylist which contains some string data then :

`DefaultComboBoxModel model= new DefaultComboBoxModel(arr.toArray(new String[arr.size()])); itemList.setModel(model);` 

I hope this will work for you.

 
 
0
 
vote

Puede pasar private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) { System.out.println("Array size " + arr.length); System.out.println("ArrayList size " + arrayList.size()); for (int i = 0; i < arrayList.size(); i++) { arr[i] = arrayList.get(i); } } 4 SUPERCLASS COMO TIPO DE LA JLIST.

  private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) {     System.out.println("Array size " + arr.length);     System.out.println("ArrayList size " + arrayList.size());     for (int i = 0; i < arrayList.size(); i++) {         arr[i] = arrayList.get(i);     } } 5  
 

You can pass Object superclass as type of the JList.

ArrayList<String> arr = new ArrayList<String>();  arr.add("Hatchet"); arr.add("Sword"); arr.add("Shield");  JList<Object> list = JList<Object>(arr.toArray()); 
 
 
0
 
vote

Si tiene un bucle para obtener datos en MySQL Puedes ponerte así

  private <T> void populateArrayFromList(T[] arr, ArrayList<T> arrayList) {     System.out.println("Array size " + arr.length);     System.out.println("ArrayList size " + arrayList.size());     for (int i = 0; i < arrayList.size(); i++) {         arr[i] = arrayList.get(i);     } } 6  
 

if you have a loop in for gaining data in mysql you can put like this

     while(result.next()){      itemid = result.getInt("id");      itempice = result.getInt("price");      itemname = result.getString("itemname");      arraylist.add(itemname+" Price: "+itempice);      }      jList.setListData(arraylist.toArray()); 
 
 
 
 

Relacionados problema

-3  Diseño de botón en Java  ( Button layout in java ) 
Así que estoy trabajando en Java, y tengo los botones configurados. Lo único que quiero hacer ahora es separar los botones colocando tantos en un lado del JF...

1  Lista seccionada en Java / Swing?  ( Sectioned list in java swing ) 
Tengo una lista de elementos en un JList para que el usuario seleccione. Como es un montón de artículos (digamos, ciudades de estados), quiero dividir la li...

1  ¿Cómo puedo agregar un elemento de cadena Jlist desde otro JPanel / JFrame / etc?  ( How can i add string jlist element from another jpanel jframe etc ) 
Sé cómo agregar realmente el elemento a la propia JLIST, pero no estoy seguro de cómo hacer que mi registro de eventos (que usa el JLIST junto con una actuali...

0  Cómo quitar la casilla de verificación de JCHECKBOX  ( How to remove the checkbox from jcheckbox ) 
Tengo un jlist donde estoy mostrando todos los elementos como JcheckBox. Ahora, quiero que la primera "nueva etiqueta" actúe como un botón. Medios, cuando...

2  Cómo configurar la imagen .tif a ImageIcon en Java?  ( How to set tif image to imageicon in java ) 
¿Podría alguien sugerirme cómo almacenar la imagen formateada de TIF ImageIcon y agregue esta imagen al modelo de lista? Probé esto, pero me da java.lang.N...

1  Lista de visualización en un JFrame  ( Display list on a jframe ) 
Quiero mostrar la lista en el Formulario JFrame. Cualquier ayuda es apreciada import java.util.List; import java.util.ArrayList; public class Collatz ext...

1  Java - ¿Cómo crear un JLIST o JTable con un encabezado horizontal y vertical?  ( Java how to create a jlist or jtable with a horizontal and vertical header ) 
Me gustaría crear una mesa algo así: Espero que la imagen sea lo suficientemente buena. Si se activa un ScrollPane, solo las células se moverán y el enca...

1  Acceso Objeto personalizado en ListCellRenderer Java  ( Access custom object in listcellrenderer java ) 
Tengo un objeto personalizado que incluye la URL específica de la URL y el amplificador; nombre. Y tengo lista de ListCellRenderer para mostrar imagen y texto...

0  Mi método modelo jlist me da un error  ( My jlist model method gives me an error ) 
Tuve una conferencia hoy y, literalmente, escribí lo que hizo el maestro, pero el código me da un error que dice: java: incompatible types: int cannot be c...

0  ¿Acceso a métodos de subclase almacenados como SuperClass Java (Downcasting?)  ( Accessing methods from subclass stored as superclass java downcasting ) 
Estoy trabajando en un programa de inventario en Java. Tengo cada objeto en el inventario almacenado como un tipo de clase Relavent en un DefaultListModel y...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos