JButton: addPropertyChangeListener(PropertyChangeListener lis) : JButton « javax.swing « Java by API






JButton: addPropertyChangeListener(PropertyChangeListener lis)

  
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;

public class MainClass {

  public static void main(String args[]) {
    JFrame frame = new JFrame("Button Sample");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    final JButton button1 = new JButton("Select Me");
    final JButton button2 = new JButton("No Select Me");
    final Random random = new Random();

    ActionListener actionListener = new ActionListener() {
      public void actionPerformed(ActionEvent actionEvent) {
        JButton button = (JButton) actionEvent.getSource();
        int red = random.nextInt(255);
        int green = random.nextInt(255);
        int blue = random.nextInt(255);
        button.setBackground(new Color(red, green, blue));
      }
    };

    PropertyChangeListener propertyChangeListener = new PropertyChangeListener() {
      public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
        String property = propertyChangeEvent.getPropertyName();
        if ("background".equals(property)) {
          button2.setBackground((Color) propertyChangeEvent.getNewValue());
        }
      }
    };

    button1.addActionListener(actionListener);
    button1.addPropertyChangeListener(propertyChangeListener);
    button2.addActionListener(actionListener);

    frame.add(button1, BorderLayout.NORTH);
    frame.add(button2, BorderLayout.SOUTH);
    frame.setSize(300, 100);
    frame.setVisible(true);
  }

}

           
         
    
  








Related examples in the same category

1.Button.background
2.Button.font
3.Button.foreground
4.new JButton(Action act)
5.new JButton(Icon ic)
6.new JButton(String text)
7.new JButton(String str) (HTML String)
8.new JButton(String text, Icon icon)
9.JButton: addActionListener(ActionListener act)
10.JButton: addAncestorListener(AncestorListener listener)
11.JButton: addChangeListener(ChangeListener l)
12.JButton: addItemListener(ItemListener l)
13.JButton: contains(int x, int y)
14.JButton: createToolTip()
15.JButton: getAccessibleContext()
16.JButton: getActionMap()
17.JButton: getBackground()
18.JButton: getInputMap()
19.JButton: removeActionListener(ActionListener l)
20.JButton: setActionCommand(String text)
21.JButton: setAlignmentX(float alignmentX)
22.JButton: setAlignmentY(float alignmentY)
23.JButton: setBackground(Color c)
24.JButton: setBorder(Border border)
25.JButton: setBorderPainted(boolean b)
26.JButton: setDefaultCapable(boolean defaultCapable)
27.JButton: setDisabledIcon(Icon disabledIcon)
28.JButton: setDisabledSelectedIcon(Icon disabledSelectedIcon)
29.JButton: setHorizontalAlignment(int alignment)
30.JButton: setIconTextGap(int iconTextGap)
31.JButton: setMnemonic(KeyEvent.VK_A)
32.JButton: setPressedIcon(Icon pressedIcon)
33.JButton: setRolloverIcon(Icon rolloverIcon)
34.JButton: setRolloverSelectedIcon(Icon rolloverSelectedIcon)
35.JButton: setSelectedIcon(Icon selectedIcon)
36.JButton: setToolTipText(String str)
37.JButton: setVerticalAlignment(int alignment)
38.extends JButton