Lägga till ArrayList i en "Netabeans-lista"

Permalänk
Medlem

Lägga till ArrayList i en "Netabeans-lista"

Tja.
jag håller för tillfället på med att skapa ett system för ett spelföretag. Företaget är påhittat av våra lärare då detta är ett skolprojekt. Håller för tillfället på med att skapa en lista där man ska kunna se alla anställda som jobbar på företaget och vill använda mig av en "list" från swing-biblioteket. Problemet är bara att add-metoden inte är den samma för "list" som den är för en dropbox-meny. Så om någon vänlig själ skulle kunna visa hur metoden ska vara för att lägga till arraylistan i min for-loop vore det underbart.

for (int i=0; i<empList.size();i++) { empNameList.???(empList.get(i));//Loop för att lägga till item i listan "empNameList", listan är en s.k "list" i netbeans. }

???= där en addItem skulle vara ifall man skulle lägga till den i en dropbox.
Kan tillägga även att vi använder oss av Netbeans v7.0

Visa signatur

gg

Permalänk
Medlem
Skrivet av BigPinky:

Tja.
jag håller för tillfället på med att skapa ett system för ett spelföretag. Företaget är påhittat av våra lärare då detta är ett skolprojekt. Håller för tillfället på med att skapa en lista där man ska kunna se alla anställda som jobbar på företaget och vill använda mig av en "list" från swing-biblioteket. Problemet är bara att add-metoden inte är den samma för "list" som den är för en dropbox-meny. Så om någon vänlig själ skulle kunna visa hur metoden ska vara för att lägga till arraylistan i min for-loop vore det underbart.

for (int i=0; i<empList.size();i++) { empNameList.???(empList.get(i));//Loop för att lägga till item i listan "empNameList", listan är en s.k "list" i netbeans. }

???= där en addItem skulle vara ifall man skulle lägga till den i en dropbox.
Kan tillägga även att vi använder oss av Netbeans v7.0

Rekommenderar att du har API-dokumentationen nära till hands => http://docs.oracle.com/javase/7/docs/api/. I detta fall mer specifikt http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.ht...

Om jag inte missat något ska det vara så enkelt löst som

String[] employees = new String[empList.size()]; employees = empList.toArray(employees); empNameList.setListData(employees);

Ingen for-loop används här.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Rekommenderar att du har API-dokumentationen nära till hands => http://docs.oracle.com/javase/7/docs/api/. I detta fall mer specifikt http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.ht...

Om jag inte missat något ska det vara så enkelt löst som

String[] employees = new String[empList.size()]; employees = empList.toArray(employees); empNameList.setListData(employees);

Ingen for-loop används här.

Tack. Men varför använder du dig av array? Saken är ju den att jag har skapat en ArrayList som jag fyller på från sql-databasen...

Visa signatur

gg

Permalänk
Medlem
Skrivet av BigPinky:

Tack. Men varför använder du dig av array? Saken är ju den att jag har skapat en ArrayList som jag fyller på från sql-databasen...

Vad jag kunde se fanns det ingen metod på JList som tog en ArrayList.

Skickades från m.sweclockers.com

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av BigPinky:

Sorry. Här kommer all väsentlig kod...

Jag menar att JList inte har någon metod som tar emot en ArrayList<String>, så den måste omvandlas till antingen en Vector eller en array. Det är kodsnutten jag skrev försöker göra, har du testat om det fungerar?

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Jag menar att JList inte har någon metod som tar emot en ArrayList<String>, så den måste omvandlas till antingen en Vector eller en array. Det är kodsnutten jag skrev försöker göra, har du testat om det fungerar?

Tack för svaren. Koden är inte korrupt men metoden returnerar ingenting. Med andra ord, den funkar tyvärr inte...

Visa signatur

gg

Permalänk
Medlem

Jag har under utvecklingens gång stött på ett nytt problem som jag hoppas någon kunnig här på forumet skulle kunna svara på. Det är nämligen så att jag gjort en tabell som importerar data in i från min databas via en jList. Listan har en metod som gör att varje gång jag trycker på ett namn i den så visar den all information i tabeller som ligger bredvid. Problemet är nu bara att jag vill kunna markera flera namn från listan och i och med detta ska infon visas i tabellen för samtliga namn som är markerade. Hur gör jag detta?

Detta är då metoden för ovanstående beskrivning.

private void empNameListValueChanged(javax.swing.event.ListSelectionEvent evt) { try { ArrayList<ArrayList<String>> empList = new ArrayList<ArrayList<String>>(); String employees = "select eid, name, phone, email, officelocation from employee where name='"+empNameList.getSelectedValue()+"'"; empList = idb.fetchMatrix(employees); Object[][] rows = new Object[empList.size()][5]; //empNameList.getSelectedIndex(); //Metoden gör inget för tillfället. //empNameList.getSelectedValue(); //Metoden gör inget för tillfället. for (int i = 0; i < empList.size(); i++) { rows[i][0] = empList.get(i).get(0); rows[i][1] = empList.get(i).get(1); rows[i][2] = empList.get(i).get(2); rows[i][3] = empList.get(i).get(3); rows[i][4] = empList.get(i).get(4); //Skapar arraylistorna och hämtar datan från databasen. } String[] columns; columns = new String[5]; columns[0] = "EID"; columns[1] = "Name"; columns[2] = "Phone"; columns[3] = "Email"; columns[4] = "Officelocation"; TableModel model = new DefaultTableModel(rows, columns); empTable.setModel(model);//Skapar columner där datan ska hamna. } catch (InformatikException exc) { jOptionPane1.showMessageDialog(null, exc.getMessage()); } }

Tack på förhand. Skulle vara mycket trevligt med svar.

Visa signatur

gg

Permalänk
Medlem
Skrivet av BigPinky:

Tack för svaren. Koden är inte korrupt men metoden returnerar ingenting. Med andra ord, den funkar tyvärr inte...

Den ska sätta innehållet i din JList, inte returnera ett värde. Jag tror den fungerar om du använder den på rätt sätt.

Skrivet av BigPinky:

Jag har under utvecklingens gång stött på ett nytt problem som jag hoppas någon kunnig här på forumet skulle kunna svara på. Det är nämligen så att jag gjort en tabell som importerar data in i från min databas via en jList. Listan har en metod som gör att varje gång jag trycker på ett namn i den så visar den all information i tabeller som ligger bredvid. Problemet är nu bara att jag vill kunna markera flera namn från listan och i och med detta ska infon visas i tabellen för samtliga namn som är markerade. Hur gör jag detta?

Detta är då metoden för ovanstående beskrivning.

[KOD ...]

Tack på förhand. Skulle vara mycket trevligt med svar.

Med risk för att låta tjötig, läs API:t. http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.ht...)
Det tar ett tag innan man får in snitsen — lite som att googla — men när det sitter är API-referenser ovärdeliga. Ingen jävel kan hela API:et utantill, men vet man hur man söker och vad man söker efter tar det 30 sekunder att hitta ett svar.
Här är ett utdrag =>

Citat:

Sets the selection mode for the list. This is a cover method that sets the selection mode directly on the selection model.

The following list describes the accepted selection modes:

  • ListSelectionModel.SINGLE_SELECTION - Only one list index can be selected at a time. In this mode, setSelectionInterval and addSelectionInterval are equivalent, both replacing the current selection with the index represented by the second argument (the "lead").

  • ListSelectionModel.SINGLE_INTERVAL_SELECTION - Only one contiguous interval can be selected at a time. In this mode, addSelectionInterval behaves like setSelectionInterval (replacing the current selection}, unless the given interval is immediately adjacent to or overlaps the existing selection, and can be used to grow the selection.

  • ListSelectionModel.MULTIPLE_INTERVAL_SELECTION - In this mode, there's no restriction on what can be selected. This mode is the default.

Så din JList tillåter med största sannolikhet redan att du väljer flera listelement åt gången. Du kan hämta en lista av de valda elementen genom getSelectedValuesList(), eller getSelectedIndices() för att få ut en array med index.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Den ska sätta innehållet i din JList, inte returnera ett värde. Jag tror den fungerar om du använder den på rätt sätt.

Med risk för att låta tjötig, läs API:t. http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.ht...)
Det tar ett tag innan man får in snitsen — lite som att googla — men när det sitter är API-referenser ovärdeliga. Ingen jävel kan hela API:et utantill, men vet man hur man söker och vad man söker efter tar det 30 sekunder att hitta ett svar.
Här är ett utdrag =>

Så din JList tillåter med största sannolikhet redan att du väljer flera listelement åt gången. Du kan hämta en lista av de valda elementen genom getSelectedValuesList(), eller getSelectedIndices() för att få ut en array med index.

Tack ska du ha. Löste det hela idag med många och åter många om och men.

Visa signatur

gg