您好,登錄后才能下訂單哦!
本文為大家分享了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í)有所幫助,也希望大家多多支持億速云。
免責(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)容。