溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

swing分割窗口控件JSplitPane使用方法詳解

發(fā)布時(shí)間:2020-10-24 16:34:31 來(lái)源:腳本之家 閱讀:401 作者:WilliamSun0122 欄目:編程語(yǔ)言

本文為大家分享了JSplitPane的使用方法,供大家參考,具體內(nèi)容如下

1、swing分割窗口控件JSplitPane,用來(lái)將窗口分割成兩個(gè)部分?!?

2、分割后的窗口每個(gè)窗口只能放一個(gè)控件,想要方多個(gè)控件的話(huà),可以在上面方一個(gè)JPane面板,這樣就可以方多個(gè)控件。swing分割窗口控件JSplitPane,用來(lái)將窗口分割成兩個(gè)部分。JSplitPane提供兩個(gè)常數(shù)讓你設(shè)置到底是要垂直分割還是水平分割。這兩個(gè)常數(shù)分別是:HORIZONTAL_SPIT,VERTICAL_SPLIT

3、使用方法:

①、setDividerSize(int size)設(shè)置分割條的大小。

②、getDividerSize()得到分割條的大小。

③、setDividerLocation(int size)按照百分比設(shè)置分割條的位置。

④、getOrientation獲得方向。

4、構(gòu)造方法

JSplitPane():建立一個(gè)新的JSplitPane,里面含有兩個(gè)默認(rèn)按鈕,并以水平方向排列,且沒(méi)有Continuous Layout功能。

JSplitPane(int newOrientation):建立一個(gè)指定水平或垂直方向切割JSplitPane,但沒(méi)有Continuous Layout功能。

JSplitPnae(int newOrientation,boolean newContinuousLayout):建立一個(gè)指定水平或垂直方向切割的JSplitPane,且指定是否具有Continuous Layout功能。

JSplitPane(int newOrientation,boolean newContinuousLayout,Component
newLeftComponent,Component newRightComponent):建立一個(gè)指定水平或垂直方向切割的JSplitPane,且指定顯示區(qū)所要顯示的組件,并設(shè)置是否Continuous Layout功能。

JSplitPane(int newOrientation,COmponent newLeftComponent,COmponent newRightComponent):
建立一個(gè)指定水平或垂直方向切割的JSplitPane,且指定顯示區(qū)所要顯示的組件,但沒(méi)有Continuous Layout功能 。

上面所說(shuō)的Continuous Layout意思是指當(dāng)你拖曳切割面版的分隔線時(shí),窗口內(nèi)的組件是否會(huì)隨著分隔線的拖曳而動(dòng)態(tài)改變大小。newContinuousLayout是一個(gè)boolean值,若設(shè)為true,則組件大小會(huì)隨著分隔線的拖曳而一起改動(dòng);若設(shè)為false,則組件大小在分隔線停止改動(dòng)時(shí)才確定。你也可以使用JSplitPane中的setContinuousLayout()方法來(lái)設(shè)置此項(xiàng)目。

5、實(shí)例

package swing; 

import java.awt.event.ComponentAdapter; 
import java.awt.event.ComponentEvent; 

import javax.swing.JFrame; 
import javax.swing.JSplitPane; 
import javax.swing.JPanel; 
public class MainFrame extends JFrame { 
 /** 
  * 
  */ 
 JSplitPane jSplitPane1 = new JSplitPane(); 
 JPanel jPanel1 = new JPanel(); 
 JPanel jPanel2 = new JPanel(); 
 private static final long serialVersionUID = 1L; 
 public static void main(String[] args){ 
  new MainFrame(); 
  } 

 public void myinit(){ 
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)定窗體關(guān)閉后自動(dòng)退出進(jìn)程 
  this.setSize(800,600);//設(shè)定窗體的默認(rèn)尺寸 
  this.setExtendedState(JFrame.MAXIMIZED_BOTH);//設(shè)定窗體狀態(tài)為屏幕最大化,即全屏尺寸。 
  this.setVisible(true);//顯示窗體 
  this.jSplitPane1.setDividerLocation(0.7);//設(shè)定分割面板的左右比例(這時(shí)候就生效了,如果放在setVisible(true)這據(jù)之前就不會(huì)有效果。) 
  this.addComponentListener(new ComponentAdapter() { 

   public void componentResized(ComponentEvent e) { 

    jSplitPane1.setDividerLocation(0.7); 
   } 
  }); 
 }  

 public MainFrame() { 
  try { 

   jbInit(); 
   myinit(); 
  } catch (Exception ex) { 
   ex.printStackTrace(); 
  } 
 } 
 private void jbInit() throws Exception { 
  this.getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER); 
  jSplitPane1.add(jPanel1, JSplitPane.LEFT); 
  jSplitPane1.add(jPanel2, JSplitPane.RIGHT); 
  jSplitPane1.setEnabled(false); 
  jSplitPane1.setOneTouchExpandable(true); 

 } 


} 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI