VetoableChangeListenerDemo.java Source code

Java tutorial

Introduction

Here is the source code for VetoableChangeListenerDemo.java

Source

import java.awt.BorderLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;

public class VetoableChangeListenerDemo {

    public static void main(final String args[]) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JDesktopPane desktop = new JDesktopPane();

        JInternalFrame palette = new JInternalFrame("Palette", true, true, true, true);

        palette.addVetoableChangeListener(new IconPolice());

        palette.setBounds(350, 150, 100, 100);
        desktop.add(palette, JDesktopPane.PALETTE_LAYER);
        palette.setVisible(true);

        frame.add(desktop, BorderLayout.CENTER);
        frame.setSize(500, 300);
        frame.setVisible(true);
    }
}

class IconPolice implements VetoableChangeListener {
    public void vetoableChange(PropertyChangeEvent ev) throws PropertyVetoException {
        String name = ev.getPropertyName();
        if (name.equals(JInternalFrame.IS_ICON_PROPERTY) && (ev.getNewValue() == Boolean.TRUE)) {
            System.out.println("JInternalFrame.IS_ICON_PROPERTY");
        }
    }
}