Метод Java isRollover() не создает событие в моем приложении Swing

Я читаю замечательную книгу под названием Swing: A Beginner's guide. В книге есть этот код, который создает кнопку и метку, которая предупреждает о событиях изменения состояния кнопки:

//Demonstrate a change listener and the button model

package swingexample2_6;

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

public class ChangeDemo {

    JButton jbtn;
    JLabel jlab;

    public ChangeDemo() {
        //Create a new JFrame container
        JFrame jfrm = new JFrame("Button Change Events");

        //Specify FlowLayout for the layout manager
        jfrm.getContentPane().setLayout(new FlowLayout());

        //Give the frame an initial size
        jfrm.setSize(250, 160);

        //Terminate the program when the user closes the application
        jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Create an empty label
        jlab = new JLabel();

        //Make a button
        jbtn = new JButton("Press for Change Event Test");

        //--Add change listener
        jbtn.addChangeListener(new ChangeListener() {

            @Override
            public void stateChanged(ChangeEvent ce) {
                ButtonModel mod = jbtn.getModel();
                String what = "";

                if (mod.isEnabled()) {
                    what += "Enabled
"; } if (mod.isRollover()) { what += "Rollover
"; } if (mod.isArmed()) { what += "Armed
"; } if (mod.isPressed()) { what += "Pressed
"; } //Notice that this label's text is HTML jlab.setText("Current stats:
" + what); } }); //Add the components to the content pane jfrm.getContentPane().add(jbtn); jfrm.getContentPane().add(jlab); //Display the frame jfrm.setVisible(true); } public static void main(String[] args) { //Create the frame on the event dispatching thread SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new ChangeDemo(); } }); } }

Все работает нормально, за исключением события ролловера. Базовая операционная система — Mac OS Lion. Должен ли я винить Льва в этой проблеме со свингом или я делаю что-то не так? Спасибо.

Обновление 1: изображение настроек Neatbeans (надеюсь, оно поможет) settings

5
задан Glorfindel 18 August 2019 в 21:57
поделиться