Java Tutorial/Swing Event/HierarchyListener

Материал из Java эксперт
Перейти к: навигация, поиск

Adding HierarchyListener to JSplitPane

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.HierarchyEvent; import java.awt.event.HierarchyListener; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JSplitPane; public class JSplitPaneVerticalSetTopBottom {

 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);
 }

}</source>