JSplitPane

package test.JSplitPane;

 

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

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 MainClass {

  public static void main(String args[]) throws Exception {

    JFrame vFrame = new JFrame("Vertical Split");

    vFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JComponent leftButton = new JButton("Left");

    JComponent rightButton = new JButton("Right");

    final JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);

    splitPane.setOneTouchExpandable(true);

    splitPane.setLeftComponent(leftButton);

    splitPane.setRightComponent(rightButton);

 

    ActionListener oneActionListener = new ActionListener() {

      public void actionPerformed(ActionEvent event) {

        splitPane.resetToPreferredSizes();

      }

    };

    ((JButton) rightButton).addActionListener(oneActionListener);

 

    ActionListener anotherActionListener = new ActionListener() {

      public void actionPerformed(ActionEvent event) {

        splitPane.setDividerLocation(10);

        splitPane.setContinuousLayout(true);

      }

    };

 

    ((JButton) leftButton).addActionListener(anotherActionListener);

 

    HierarchyListener hierarchyListener = new HierarchyListener() {

      public void hierarchyChanged(HierarchyEvent e) {

        long flags = e.getChangeFlags();

        if ((flags & HierarchyEvent.SHOWING_CHANGED) == HierarchyEvent.SHOWING_CHANGED) {

          splitPane.setDividerLocation(.75);

        }

      }

    };

    splitPane.addHierarchyListener(hierarchyListener);

 

    vFrame.add(splitPane, BorderLayout.CENTER);

    vFrame.setSize(300, 150);

    vFrame.setVisible(true);

  }

 

}

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章