non vuole essere un esempio di buona programmazione, ma solo darti un'idea:
modello record
codice:
public class MioRecord {
private int id;
private String descrizione;
private int quantita;
private double prezzo;
public MioRecord(int id, String descrizione, int quantita, double prezzo) {
this.id = id;
this.descrizione = descrizione;
this.quantita = quantita;
this.prezzo = prezzo;
}
public int getId() {
return this.id;
}
public String getDescrizione() {
return this.descrizione;
}
public String toString() {
return this.descrizione + " : " + this.prezzo;
}
}
GUI di prova
codice:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.List;
/**
*
* @author Andrea
*/
public class GUI extends JFrame implements ActionListener {
private JList collezione;
private JButton doQueryButton;
public void actionPerformed (ActionEvent ae) {
if (collezione.isSelectionEmpty()) {
System.out.println("Selezione vuota");
}
else {
String query = "DELETE FROM mytable WHERE id IN (";
List<MioRecord> selection = collezione.getSelectedValuesList();
for (MioRecord record : selection) {
query += record.getId()+", ";
}
query = query.substring(0, query.lastIndexOf(","))+ ")";
System.out.println(query);
}
}
public GUI() {
super("Demo");
collezione = new JList();
DefaultListModel model = new DefaultListModel();
// popolo la lista
int[] id = new int[]{3, 7, 9, 11, 24};
String[] descrizione = new String[]{"Pere", "Mele", "Banane", "Arance", "Fragole"};
int[] quantita = new int[] {22, 4, 7, 9, 16};
double[] prezzo = new double[]{1.34, 2.45, 3.11, 6.2, 0.54};
for (int i = 0; i < id.length; i++) {
MioRecord record = new MioRecord(id[i], descrizione[i], quantita[i], prezzo[i]);
model.addElement(record);
}
collezione.setModel(model);
this.getContentPane().add(new JScrollPane(collezione), BorderLayout.CENTER);
// Bottone di esecuzione query
doQueryButton = new JButton("Esegui Query");
this.getContentPane().add(doQueryButton, BorderLayout.SOUTH);
doQueryButton.addActionListener(this);
this.setSize(400, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main (String[] args) {
new GUI();
}
}