Событие MouseClick на компоненте JSpinner не работает - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь получить сообщение, которое будет отображаться при нажатии любой кнопки JSpinner или вводе значения. Проблема в том, что событие вообще не срабатывает, и я не знаю почему. JSpinner является членом формы JPanel, которую можно добавить в JFrame. Вот мой код:

public class PropertyEditor extends javax.swing.JPanel {


public PropertyEditor() {
    initComponents();
}


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jSpinner1 = new javax.swing.JSpinner();

    setMinimumSize(new java.awt.Dimension(151, 200));

    jSpinner1.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jSpinner1MouseClicked(evt);
        }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
    this.setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(19, 19, 19)
            .addComponent(jSpinner1, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap(27, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jSpinner1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap(269, Short.MAX_VALUE))
    );
}// </editor-fold>                        

private void jSpinner1MouseClicked(java.awt.event.MouseEvent evt) {                                       
    javax.swing.JOptionPane.showMessageDialog(this, "wow");
}                                      


// Variables declaration - do not modify                     
private javax.swing.JSpinner jSpinner1;
// End of variables declaration                   
}

1 Ответ

0 голосов
/ 25 января 2020

2nd Edit:

jSpinner1.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent changeEvent) { javax.swing.JOptionPane.showMessageDialog(contentPane, "wow"); } });

Используйте это ChangeListener. Мне было скучно, и я все попробовал. это единственный слушатель, который в моем случае работает со счетчиком.

...