Ciao,
come posso importare l'argomento della classe all'interno dell'actionlistener anch'esso presente nella stessa classe?
Nello specifico vorrei che il listener ricevesse Utente utente fatto passare come argomento.
codice:
public class PannelloDipendente extends JFrame implements ActionListener{
public static final int LARGHEZZA = 370;
public static final int ALTEZZA = 165;
public PannelloDipendente(Utente utente){
setTitle("Pannello Dipendente");
setSize(LARGHEZZA,ALTEZZA);
JPanel pannello = new JPanel();
pannello.setLayout(null);
JButton visualizzaMagazzino = new JButton("Visualizza Magazzino");
visualizzaMagazzino.setBackground(Color.LIGHT_GRAY);
visualizzaMagazzino.addActionListener(this);
visualizzaMagazzino.setBounds(30,30, 160,25);
pannello.add(visualizzaMagazzino);
add(pannello);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
--> PannelloInventario pInventario = new PannelloInventario(utente);
}
mi da errore dove c'è --> dicendo che utente non può essere risolto come variabile.
codice:
public class PannelloInventario extends JFrame implements ActionListener{
private final JButton button;
private final JTable table;
private final DefaultTableModel tableModel = new DefaultTableModel();
public PannelloInventario(final Utente utente) throws HeadlessException {
setSize(670, 480);
this.setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
table = new JTable(tableModel);
table.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
JTable table=(JTable)me.getSource();
Point p=me.getPoint();
int row=table.rowAtPoint(p);
if(me.getClickCount() == 2) {
System.out.println("Doppio click alla riga "+row);
Object id = table.getValueAt(row, 0);
System.out.println(id);
Acquisto pAcquisto = new Acquisto();
pAcquisto.setId((int) id);
pAcquisto = AcquistoManager.getInstance().selezionaProdotto(utente, pAcquisto);
}
}
});
add(new JScrollPane(table), BorderLayout.CENTER);
button = new JButton("Load Data");
button.addActionListener(this);
add(button, BorderLayout.PAGE_START);
}
public void actionPerformed(ActionEvent e){
new SwingWorker<Void, Void>() {
protected Void doInBackground() throws Exception {
ReturnValues tavolamagazzino = DbConnection.getInstance().VisualizzaMagazzino();
Vector<Vector<Object>> data= tavolamagazzino.getData();
Vector<String> nomeColonne= tavolamagazzino.getNomeColonne();
tableModel.setDataVector(data, nomeColonne);
return null;
}
}.execute();
}
}
Grazie