MouseListener

Mattepuffo's logo
Impostare un popup menu su una JList

Impostare un popup menu su una JList

Se usiamo le JList, potremmo aver bisogno di impostare un popup menu al click con il testo destro del mouse.

Ad esempio per rimuovere una voce, o per modificarla.

Vediamo come implementare un JPopupMenu su una JList.

NB: non vediamo anche come riempirla, ma ci occupiamo solo del popup.

Mattepuffo's logo
Intercettare il doppio click su una JList in Java

Intercettare il doppio click su una JList in Java

Avendo una JList dentro alla nostra alla nostra finestra, vogliamo intercettare il doppio click del mouse, e identificare il valore della voce selezionata.

Tutto quello che ci serve è aggiungere un mouse listener attraverso il metodo addMouseListener, e poi fare l'Override del metodo mouseClicked della classe MouseAdapter.

Mattepuffo's logo
Disegnare su JPanel

Disegnare su JPanel

Torniamo a parlare un pò di Java (che purtroppo ho dovuto un pò tralasciare per poco tempo).

Oggi vediamo come poter disegnare un rettangolo con il mouse su un JPanel.

Inoltre dovrà implementare MouseListener e MouseMotionListener e i metodi derivati:

  • mousePressed
  • mouseDragged
  • mouseReleased
  • mouseClicked
  • mouseEntered
  • mouseExited
  • mouseMoved

Gli ultimi 4 metodi però rimarrano vuoti perchè non ci serviranno.

Vediamo come strutturare il tutto:

public class FrameDraw extends JFrame {

    private JScrollPane scroll;
    private int width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth(); // DIMENSIONE JPANEL
    private int height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight(); // DIMENSIONE JPANEL

    public FrameDraw() {
        super("Draw panel");
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setLayout(new BorderLayout());
        ImagePanel panel = new ImagePanel();
        scroll = new JScrollPane(panel);
        add(scroll, BorderLayout.CENTER);
    }

// CLASSE PRIVATA JPANEL.

}

Questo è il JFrame principale; ImagePanel sarà il JPanel che andremo ad inserire come classe privata.

Mattepuffo's logo
Doppio click su JTable

Doppio click su JTable

Articolo riscritto

Uno dei tanti articoli scritti in gioventù che ha bisogno di una rinfrescata.

Quello che vogliamo fare è intercettare il doppio click su una JTable.

Per farlo dobbiamo usare addMouseListener sulla JTable, con un MouseAdapter.

Una volta fatto questo, possiamo facilmente prendere i valorei della riga con il metodo getValueAt.