Java Swing Tutorial - Java HierarchyEvent .getChangeFlags ()








Syntax

HierarchyEvent.getChangeFlags() has the following syntax.

public long getChangeFlags()

Example

In the following code shows how to use HierarchyEvent.getChangeFlags() method.

import java.awt.BorderLayout;
import java.awt.event.HierarchyEvent;
import java.awt.event.HierarchyListener;
/*from ww w  .j  a va2  s. c  om*/
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JSplitPane;

public class Main {
  public static void main(String[] a) {
    JFrame horizontalFrame = new JFrame();
    horizontalFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JComponent topButton = new JButton("Left");
    JComponent bottomButton = new JButton("Right");
    final JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);

    HierarchyListener hierarchyListener = new HierarchyListener() {
      public void hierarchyChanged(HierarchyEvent e) {
        long flags = e.getChangeFlags();
        System.out.println(e.getSource());        
        if ((flags & HierarchyEvent.SHOWING_CHANGED) ==
             HierarchyEvent.SHOWING_CHANGED) {
          splitPane.setDividerLocation(.75);
        }
      }
    };
    splitPane.addHierarchyListener(hierarchyListener);

    splitPane.setTopComponent(topButton);
    splitPane.setBottomComponent(bottomButton);

    
    horizontalFrame.add(splitPane, BorderLayout.CENTER);
    horizontalFrame.setSize(150, 150);
    horizontalFrame.setVisible(true);

  }
}