1. 程式人生 > >分割面板(JSplitPane)

分割面板(JSplitPane)

所在 amp ext 軟件 定義 nbsp 構造函數 AI 平分

Java中的分割面板的故事:

我們常用的各種軟件,包括QQ、以及window的資源管理器都可以隨意的拖動其大小,這就是java中的分割面板。

先來看一段代碼,分割面板的代碼,只分割了兩部分。

源碼:

  1 import java.awt.BorderLayout;

  2 import java.awt.Container;

  3 import javax.swing.JFrame;
  4 import javax.swing.JLabel;
  5 import javax.swing.JSplitPane;

  6 public class Example extends JFrame {

  7   public static void main(String[] args) {
  8     Example frame = new Example();
  9    frame.setVisible(true);
  10   }

  11   public Example() {

  12     super();
  13     setTitle("分割面板");
  14     setBounds(100, 100, 500, 300);// 設置面板的大小
  15     setDefaultCloseOperation(EXIT_ON_CLOSE);
  16     Container c = getContentPane();// 返回JFrame窗體中的組件

  17     JSplitPane jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);// 設置為水平分割
  18     c.add(jsp, BorderLayout.CENTER);
  19     jsp.setLeftComponent(new JLabel("左邊"));
  20     jsp.setContinuousLayout(true);// 重繪分隔條
  21     jsp.setDividerLocation(80);// 設置分割條左邊的初始寬度
  22     jsp.setRightComponent(new JLabel("右邊"));
  23   }
24 }

源碼解釋:

  1.第1~5行是一些基本的java的基本的包。

  2.第7~10行是主函數。主函數定義的定義的基本格式都是:

    public static void main(String[] args) {

      語句;

    }

  3.第11行往後就是該函數的構造函數。public Example(){};

  4.13~15行進行設置JFrame的標題,大小以及關閉的方式。

  5.第16行是getContentPane方法,Example類繼承了JFrame窗體。getContentPane是JFrame中的一個方法,用於返回此窗體的 contentPane 對象。

  6.第17~22行即為分割面板的主要的代碼。

    17行.新建一個JSplitPane對象jsp。並將其設置為水平分割,其實設置這個其實是多此一舉的,本來JSplitPane默認的就是水平分割。

    18行.將jsp對象加入到JFrame窗體中,並設置其布局管理器為BorderLayout,並將jsp對象放置在面板的中間位置。

    19行.設置jsp對象的左側,給其左側加入一個JLabel對象,並設置其顯示為“左邊”。

    20行.重新繪制分割條,如果將這句刪去,程序也會運行,但是在拖動分隔條的過程中會顯示分隔條的影子所在的位置。

    21行.設置分割條左側的面板的初始像素值,我將這個設置為80元。

    22行.在分割條的右邊用同樣的方法可以加入一個帶有“右邊”字樣的JLabel組件。

   在JSplitPane中還有許多的方法等著我們一起去探究呢,我們一起加油。

中文版API下載地址:鏈接:https://pan.baidu.com/s/1JtpAQPSFh9NBDfnQaNK6GA 密碼:mtci

分割面板(JSplitPane)