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.
mi da errore dove c'è --> dicendo che utente non può essere risolto come variabile.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); }
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

Rispondi quotando