FileDocCategorySizeDatePackage
RevalidateExample.javaAPI DocExample1150Thu Oct 24 20:14:24 BST 2002None

RevalidateExample.java

// RevalidateExample.java
// An example of using the revalidate() method to dynamically update the
// appearance of a component.  This example changes the size of a button's
// font on the fly.
//
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class RevalidateExample extends JFrame {

  public RevalidateExample() {
    super("Revalidation Demo");
    setSize(300,150);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    // Create a single button
    Font font = new Font("Dialog", Font.PLAIN, 10);
    final JButton b = new JButton("Add");
    b.setFont(font);

    Container c = getContentPane();
    c.setLayout(new FlowLayout());
    c.add(b);

    // Increase the size of the button's font each time it's clicked
    b.addActionListener(new ActionListener() {
      int size = 10;

      public void actionPerformed(ActionEvent ev) {
        b.setFont(new Font("Dialog", Font.PLAIN, ++size));
        b.revalidate();   // invalidates the button & validates its root pane
      }
    });
  }

  public static void main(String[] args) {
    RevalidateExample re = new RevalidateExample();
    re.setVisible(true);
  }
}