- Codice: Seleziona tutto
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.util.*;
public class MyClass {
private JFrame f;
private Container c;
private Label l;
private DefaultListModel<String> listModel;
private JList<String> lista;
public MyClass (){
f = new JFrame("Principale");
c = f.getContentPane();
l = new Label("");
String array[] = { "Paolo","Franceso","Giovanni","Luca","Mario" };
Arrays.sort(array);
listModel = new DefaultListModel<String>();
for (String s : array) listModel.addElement(s);
lista = new JList<String>();
lista.setModel(listModel);
lista.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
String selezione = lista.getSelectedValue();
l.setText(selezione);
}
}
});
c.setLayout(new BorderLayout());
c.add(l,BorderLayout.NORTH);
c.add(new JScrollPane(lista),BorderLayout.CENTER);
f.setSize(400,150);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
public static void main(String args[]) {
MyClass p = new MyClass();
}
}
Java utilizzo di Jlist
Moderatori:
Paolino,
fairyvilje
16 messaggi
• Pagina 2 di 2 • 1, 2
2
voti
minestra riscaldata
-

biget
1.155 3 7 - CRU - Account cancellato su Richiesta utente
- Messaggi: 464
- Iscritto il: 16 dic 2016, 19:47
1
voti
Risolto, seguendo il consiglio di
TardoFreak creo un ArrayList che può essere ordina per poi passarla a una DefaultListModel che può essere inserita in una JList:
Grazie a tutti Ciao
- Codice: Seleziona tutto
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JList;
import javax.swing.DefaultListModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.awt.*;
public class MyClass {
private JFrame f;
private Container c;
private Label l;
private DefaultListModel<String> listModel;
private JList<String> lista;
private String array[] = new String[11];
public MyClass (){
f = new JFrame("Principale");
c = f.getContentPane();
l = new Label("....");
array[0] = "Paolo";
array[2] = "Franceso";
array[5] = "Giovanni";
array[7] = "Luca";
array[8] = "Mario";
array[9] = "Franceso";
//creo un arraylist
List<String> arrayListOrdinata = new ArrayList<String>();
//carico le stringeh dall'array origine all'arraylist
for (int i = 0; i <= 10; i++) {
if(array[i] != null){
arrayListOrdinata.add(new String(array[i]));
}
}
//ordino l'arraylist
Collections.sort(arrayListOrdinata);
//cero defaultlistmodel
listModel = new DefaultListModel<String>();
//carico l'arraylistordinata nel defaultlistmodel
for (String stringa : arrayListOrdinata) {
listModel.addElement(stringa);
}
lista = new JList<String>();
lista.setModel(listModel);
lista.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
String selezione = lista.getSelectedValue();
l.setText(selezione);
}
}
});
c.setLayout(new BorderLayout());
c.add(l,BorderLayout.NORTH);
c.add(new JScrollPane(lista),BorderLayout.CENTER);
f.setSize(400,150);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
public static void main(String args[]) {
MyClass p = new MyClass();
}
}
Grazie a tutti Ciao
0
voti
egbit ha scritto:minestra riscaldata![]()
- Codice: Seleziona tutto
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.util.*;
public class MyClass {
private JFrame f;
private Container c;
private Label l;
private DefaultListModel<String> listModel;
private JList<String> lista;
public MyClass (){
f = new JFrame("Principale");
c = f.getContentPane();
l = new Label("");
String array[] = { "Paolo","Franceso","Giovanni","Luca","Mario" };
Arrays.sort(array);
listModel = new DefaultListModel<String>();
for (String s : array) listModel.addElement(s);
lista = new JList<String>();
lista.setModel(listModel);
lista.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
String selezione = lista.getSelectedValue();
l.setText(selezione);
}
}
});
c.setLayout(new BorderLayout());
c.add(l,BorderLayout.NORTH);
c.add(new JScrollPane(lista),BorderLayout.CENTER);
f.setSize(400,150);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
public static void main(String args[]) {
MyClass p = new MyClass();
}
}
Scusa [user]egbit[/user] non avevo letto bene il tuo messaggio, Ottimo e grazie
2
voti
Bene, ed ora un paio di osservazioni.
Tu hai usato un ArrayList ma la cosa si può fare benissimo con un array normale, che tra l'altro spreca meno risorse ed è più veloce ma ... non ha il metodo sort.
Il metodo sort è bello perché fa il lavoro di ordinamento ma, proprio perché gli ordinamenti, le ricerche, le operazioni su matrici sono le pietre miliari della programmazione, la base, il minimo sindacale, rinnovo l'invito a investire del tempo per studiare e sperimentare queste cose.
Ho usato il termine "investire" perché di un vero investimento (con rendimento elevatissimo) si tratta.
Tu hai usato un ArrayList ma la cosa si può fare benissimo con un array normale, che tra l'altro spreca meno risorse ed è più veloce ma ... non ha il metodo sort.
Il metodo sort è bello perché fa il lavoro di ordinamento ma, proprio perché gli ordinamenti, le ricerche, le operazioni su matrici sono le pietre miliari della programmazione, la base, il minimo sindacale, rinnovo l'invito a investire del tempo per studiare e sperimentare queste cose.
Ho usato il termine "investire" perché di un vero investimento (con rendimento elevatissimo) si tratta.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
1
voti
Per array piccolini non è nemmeno importante cercare l'algoritmo più efficiente ed è un esercizio carino di implementazione. Implementare un bubble sort o un selection sort è tranquillamente alla portata di un principiante ben intenzionato. Quando ti troverai davanti a problemi più seri, consulterai l'ampissima letteratura esistente prima di decidere o meno se e come utilizzare algoritmi seri come quicksort etc...
Follow me on Mastodon: @davbucci@mastodon.sdf.org
-

DarwinNE
31,0k 7 11 13 - G.Master EY

- Messaggi: 4420
- Iscritto il: 18 apr 2010, 9:32
- Località: Grenoble - France
16 messaggi
• Pagina 2 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 53 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


